1.8 矩阵分解应用
核心问题: 如何用矩阵分解方法解决信号处理问题?
在线 Notebook
对应的交互式版本可在 Google Colab 打开,统一使用方式见 第0章说明。
矩阵分解基础
奇异值分解(Singular Value Decomposition, SVD)
定义: 任何矩阵都可以分解为三个矩阵的乘积。
其中:
: 酉矩阵(左奇异向量) : 对角矩阵(奇异值) : 酉矩阵的共轭转置(右奇异向量)
奇异值:
秩:
特征值分解(Eigenvalue Decomposition, EVD)
定义: 对于方阵
其中:
:特征向量矩阵 :特征值对角矩阵
对于Hermitian矩阵:
其中
QR分解
定义: 矩阵分解为正交矩阵和上三角矩阵的乘积。
其中:
: 正交矩阵 : 上三角矩阵
应用: 数值稳定的最小二乘求解。
信号处理中的矩阵表示
数据矩阵
问题: 如何用矩阵表示信号?
方法1:向量表示
方法2:Hankel矩阵
用途: 将一维信号转换为二维矩阵,便于矩阵分解。
协方差矩阵
定义: 信号的二阶统计特性。
样本协方差矩阵:
性质:
- Hermitian矩阵:
- 半正定:所有特征值
- 特征值反映信号的功率分布
子空间方法
信号子空间和噪声子空间
问题: 给定观测
方法: 对协方差矩阵进行EVD。
其中:
:信号子空间(对应大特征值) :噪声子空间(对应小特征值)
关键性质: 信号子空间和噪声子空间正交。
MUSIC算法(Multiple Signal Classification)
问题: 估计多个信号的频率。
观测模型:
MUSIC算法步骤:
构造数据矩阵
其中
计算协方差矩阵
EVD分解
MUSIC谱
其中
是导向向量 峰值检测 找到
的 个最大峰值
优点:
- 高分辨率:能分离接近的频率
- 在模型匹配和高SNR等条件下,性能可接近CRB

代码文件: code/ch01_dsp/music_algorithm.py
运行方式: python code/ch01_dsp/music_algorithm.py
图1.9:矩阵分解在信号子空间分析中的示意。通过分解协方差矩阵,可以把主要信号结构与噪声成分区分开。
缺点:
- 需要知道信号个数
- 计算复杂度较高
ESPRIT算法(Estimation of Signal Parameters via Rotational Invariance Techniques)
思想: 利用信号的旋转不变性。
优点:
- 不需要知道导向向量
- 计算复杂度低
- 性能好
应用: 频率估计、到达角估计
主成分分析(Principal Component Analysis, PCA)
原理
问题: 如何从高维数据中提取主要特征?
方法: 找到方差最大的方向。
步骤:
中心化数据
计算协方差矩阵
EVD分解
选择主成分 选择特征值最大的
个特征向量 降维
在信号处理中的应用
1. 信号去噪
思想: 信号集中在少数几个主成分,噪声分散在所有主成分。
方法:
- 对信号进行PCA
- 保留主要的主成分
- 丢弃小的主成分(主要是噪声)
- 重构信号
2. 特征提取
应用: 从复杂信号中提取关键特征。
例子:
- 语音识别:从语谱图提取主要特征
- 人脸识别:从人脸图像提取特征脸(eigenfaces)
- 心电图分析:提取心跳的主要特征
在深度学习出现之前,PCA、SVD 以及基于滤波器组的手工特征(如 MFCC、HOG、SIFT)是信号与图像处理的主流特征提取方式。它们的核心思想是:用少数几个方向或基函数来紧凑地表示信号的主要结构,同时丢弃噪声和冗余。理解这些方法有助于理解为什么后续章节中的表示学习如此有效,详见 第3章深度学习基础。

图1.8b:传统特征提取与深度学习特征的对比。上行:PCA 主成分,通过统计方差最大化方向手工提取;中行:CNN 学到的 Gabor 类滤波器,通过任务驱动自动优化;下行:PCA 各主成分解释的方差比例,少数主成分即可覆盖大部分信息。
代码文件: code/ch01_dsp/feature_extraction_comparison.py
运行方式: python code/ch01_dsp/feature_extraction_comparison.py
3. 数据压缩
思想: 用少数主成分表示原始数据。
压缩率:
其中
低秩近似和去噪
低秩近似
问题: 用低秩矩阵近似原始矩阵。
方法: 使用SVD的截断版本。
其中
性质:
- 最小化Frobenius范数误差
- 保留最重要的信息
信号去噪
观测模型:
其中
去噪方法:
SVD分解
阈值处理
重构
优点:
- 简单有效
- 保留信号结构
实际应用
1. 频率估计
应用MUSIC算法:
- 高分辨率频率估计
- 多信号分离
- 在模型匹配和高SNR等条件下,性能可接近CRB

代码文件: code/ch01_dsp/music_algorithm.py
运行方式: python code/ch01_dsp/music_algorithm.py
图1.10:矩阵分解方法的性能对比示意。子空间方法通常在分辨率和抗噪声能力上优于简单谱估计。
例子: 功率系统中的谐波检测
2. 到达角估计(Direction of Arrival, DOA)
问题: 用阵列天线估计信号的到达方向。
方法:
- MUSIC:高分辨率
- ESPRIT:低复杂度
- 子空间方法
应用: 雷达、声纳、无线通信
3. 信号去噪
应用PCA或SVD:
- 去除背景噪声
- 保留信号特征
- 改进信噪比
例子:
- 医学图像去噪
- 地震数据处理
- 语音增强
4. 数据压缩
应用PCA:
- 降低存储空间
- 加快处理速度
- 保留关键信息
例子:
- 图像压缩
- 视频压缩
- 传感器数据压缩
5. 故障诊断
应用子空间方法:
- 检测异常
- 识别故障类型
- 预测故障
例子:
- 轴承故障诊断
- 电机故障检测
- 结构健康监测
本节小结
矩阵分解是信号处理的强大工具:
- 基本分解:SVD、EVD、QR分解
- 子空间方法:MUSIC、ESPRIT
- 特征提取:PCA
- 去噪和压缩:低秩近似
- 实际应用:频率估计、DOA估计、去噪、压缩、故障诊断
这些方法在现代信号处理和机器学习中广泛应用。
与后续章节的联系
矩阵分解把高维结构拆成更容易分析的部分,这一思想会在后续章节持续出现:
低秩近似
- 对应于压缩表示、去噪和参数效率
PCA / SVD
- 对应于从数据中提取主方向和主结构
子空间方法
- 对应于从多个潜在方向中分离关键信息
QR / 正交化
- 对应于数值稳定性和特征解耦
这些概念和第 2 章优化、第 3 章表示学习、第 4 章 Transformer 结构都有关联,但这里保留为数学底座即可。
下一章: 第2章:优化与机器学习
