信号与线性时不变系统
Signals & LTI Systems
信号与系统理论是几乎所有数字音频技术的数学基础,也用于图像处理、电子、流体等领域。核心结论是:线性时不变 (LTI) 系统完全由它的冲激响应 描述,任意输入的输出等于输入与 的卷积;借助傅里叶变换,时域卷积等于频域乘法,滤波器就是在频域里按频率响应 衰减部分频率(GEA4 卷 II 15.2)。
信号
信号是一个或多个自变量的函数,描述某种物理现象:声压 、麦克风电压 ,甚至灰度图像 (彩色图像是 三个信号)(卷 II 15.2.1)。
- 连续时间信号:自变量是实数,记作 ;
- 离散时间信号:自变量是整数,记作 (值仍可以是实数)。离散信号可看作连续信号的采样,见 数字音频技术(卷 II 15.2.1.1)。
对自变量的简单变换(卷 II 15.2.2):用 代替 是关于 翻转; 是右移 ; 是压缩时间轴。
系统与 LTI
系统把输入信号变成输出信号,例如增益为 的放大器 ;麦克风、扬声器、A/D 转换器、混响器、均衡器、滤波器乃至房间声学都可以看成系统(卷 II 15.2.3)。
- 时不变:输入平移多少,输出也平移多少;
- 线性:满足叠加性,加权和的输入得到各自输出的加权和。
LTI 系统数学上好处理,又能准确模拟许多真实系统,所以 GEA 只讨论它。系统可以串联、并联(输出相加)或接成反馈回路;LTI 系统串联的顺序可以互换,输出不变。
下图示意三种连接方式(对应 GEA 图 15.10):串联 ,并联 ,反馈 。
flowchart LR
subgraph "串联"
x1[x] --> A1[A] --> B1[B] --> y1[y]
end
subgraph "并联"
x2[x] --> A2["a·A"] --> S2((+))
x2 --> B2["b·B"] --> S2 --> y2[y]
end冲激响应与卷积
单位冲激:离散时 只在 处为 1;连续时 定义为宽 、高 的盒函数在 时的极限,面积恒为 1(卷 II 15.2.4.1)。任意信号都能写成平移、加权冲激的和(式 15.4、15.5):
系统对 的输出 叫冲激响应。由线性和时不变性,,求和即得卷积和(式 15.6、15.7),连续时为卷积积分(式 15.8、15.9):
所以对 LTI 系统,冲激响应完全刻画系统(卷 II 15.2.4.3)。计算某个 处的值:画出 ;把 翻转并平移 得到 ;两者相乘;沿 积分求面积。每个 都要重复一遍(卷 II 15.2.4.4)。卷积满足交换律 、结合律 和分配律 ,与普通乘法类似(卷 II 15.2.4.5;渲染页 p.446 括号完整,早先因 PDF 文本层丢括号而记的"原书问题"已撤回)。
复数与欧拉公式
正弦信号的一般形式是 (式 15.10), 是振幅, 是角频率, 是相位偏移(卷 II 15.2.5.1)。 时就是 ;取 得 。
原书问题:15.2.5.1 写"当 时表达式变为 "(已核对渲染页 p.446)。实际 ,应为 。GEA 自己在 15.1.1 写的是 ,两处矛盾(恒等式见 Wikipedia "List of trigonometric identities" 的平移公式)。
用复数表示更方便用复数表示更方便(卷 II 15.2.5.2):
- ,;模 ,辐角 (辐角也叫相位)。复数可以画成阿尔冈平面 (Argand plane) 上的二维"向量" ,但复数和向量的运算规则不同,不能互换。
注: 只在 时给出正确象限,一般应写成 (见 Wikipedia "Argument (complex analysis)")。
- 复数乘法:,(式 15.12),所以单位复数相乘是纯旋转,乘以 就是转 90°。GEA 指出这正是单位四元数能表示三维旋转的原因:四元数相当于一个实部、三个虚部的"四维复数"。
注:这个类比只能算直觉。四元数乘法不满足交换律,旋转三维向量用的是夹乘 ( 里存的是半角),并不是像复数那样乘一次(见 Wikipedia "Quaternions and spatial rotation")。
- 欧拉公式(式 15.13):,实部是余弦、虚部是正弦。
傅里叶级数与傅里叶变换
周期信号可以写成谐波相关的复指数之和,即傅里叶级数(式 15.14):, 是基频。满足狄利克雷条件的非周期信号也能表示为正弦的线性组合,系数变成连续函数 ,即傅里叶变换(式 15.15、15.16)(卷 II 15.2.5.3–15.2.5.4):
是时域表示, 是频域表示。 一般是复数,常用伯德图 (Bode Plot) 分别画模和辐角(卷 II 15.2.5.5)。离散时间下有一族快速算法,称为快速傅里叶变换 (FFT)(卷 II 15.2.5.6)。
卷积定理与对偶性
时域卷积等于频域乘法,反之亦然(卷 II 15.2.5.7):
称为系统的频率响应。有时用冲激响应在时域卷积更方便,有时用频率响应在频域相乘更方便。GEA 说 LTI 系统还有对偶性:时间和频率的角色可以互换,例如两个信号相乘(调制)在频域就是两者频谱的卷积。
原书问题:对偶性是傅里叶变换的性质(时域与频域的公式几乎对称),不是 LTI 系统的性质。调制(两信号相乘)本身也不是 LTI 运算,它是时变的(见 Oppenheim & Willsky《Signals and Systems》第 2 版 4.3.6 节 "Duality",即 GEA 引用的 [45])。
滤波
滤波器是衰减选定频率范围、保留其余频率的 LTI 系统(卷 II 15.2.5.8):
| 类型 | 保留 | 衰减 |
|---|---|---|
| 低通 (low-pass) | 低频 | 高频 |
| 高通 (high-pass) | 高频 | 低频 |
| 带通 (band-pass) | 通带内 | 两端 |
| 陷波 (notch) | 两端 | 阻带内 |
理想滤波器的 是矩形:通带为 1、阻带为 0。实际滤波器(如 RC 低通)在通带和阻带之间逐渐过渡,适合"想要"和"不想要"的频率没有清晰分界的场合。均衡器 (EQ) 就是一组调到不同频段、串联作用于信号的滤波器。滤波还可以去除与有用信号频谱不重叠的噪声。
在游戏中的应用
- 房间声学可以建模为 LTI 系统:湿声 = 干声 * 房间冲激响应,即卷积混响,见 三维音频渲染。
- 采样定理、走样和重建滤波是频域视角的直接应用,见 数字音频技术;图形学中的同一理论见 抗锯齿 和 图像处理与后处理。
- 大气吸收、遮挡造成的发闷都用低通滤波器模拟。
PBRT 的视角:渲染中的傅里叶约定与功率谱(PBRT 4e 8.1–8.2)
PBRT 用普通频率 (单位:周期每单位长度),指数里带 : 上文 GEA 用的是角频率约定,,逆变换前有 。两者只差变量替换 ,读公式时要先确认约定。PBRT 的约定下 是自身的傅里叶变换,盒函数的变换就是 ,没有多余常数。
| 空域 | 频域(PBRT 表 8.1) |
|---|---|
| 盒函数(宽 1) | |
| 高斯 | |
| 常数 1 | |
| (自行化简验证) | |
| 冲激串,周期 | 冲激串,周期 |
渲染还用两个上文没有的工具:
- 功率谱密度 :丢掉相位。PBRT 8.1.6 说乘积的 PSD 等于 PSD 的卷积,这一点作为确定性恒等式并不成立(反例见 抗锯齿 的原书问题);对随机采样模式取期望时才可以这样用。用来分析随机采样模式(白噪声、蓝噪声、抖动),见 抗锯齿。
- 有限域上的傅里叶级数:分析 上的蒙特卡洛积分时用级数而不用变换,避免把函数在域外补零造成的不连续,见 蒙特卡洛积分与重要性采样。
PBRT 表 8.1 冲激串一行差一个常数因子 (推导和验证见 抗锯齿 的 PBRT 小节)。
出处
- Game_Engine_Architecture_4th_Edtion_Volume_2_-_Jason_Gregory.pdf
- Jason Gregory《Game Engine Architecture》第 4 版(2026)卷 II 第 15 章 15.2 节
- PBRT 4e source excerpt: chapter 08 (Sampling and Reconstruction)
- Pharr, Jakob, Humphreys《Physically Based Rendering: From Theory to Implementation》第 4 版(MIT Press, 2023)第 8 章 8.1.1、8.1.6、8.2.1 节,pbr-book.org/4ed/Sampling_and_Reconstruction