返回博客列表
无线通信··16 分钟阅读

SVD、EVD 与特征值算法:从矩阵主方向到无线信道理解

用无线通信视角理解 SVD、EVD、秩、零空间以及 Lanczos、QR、幂法等特征值算法的核心直觉。

这篇先不要被公式吓住。主线其实只有一条:

SVD/EVD 是在找矩阵背后的“主方向”和“强弱程度”。
特征值算法是在高效地把这些主方向算出来。

如果把它放到无线通信里理解,会更直观:信道矩阵经过分解后,我们能看出有几个强空间通道、每个通道有多强、发端怎么预编码、收端怎么合并,以及哪些方向可以用来压制干扰。

一句话总览

EVD:研究方阵自身的特征方向。
SVD:研究任意矩阵的输入方向、输出方向和方向增益。
Lanczos / QR / 幂法:都是为了更高效地求特征值或奇异值。

在 MIMO 场景里,可以把它理解成:

信道矩阵 H 经过分解后,可以看出有几个强空间通道、每个通道有多强,以及如何做预编码和接收合并。

SVD 是什么

SVD,全称 Singular Value Decomposition,奇异值分解。

对任意矩阵 A,都可以分解为:

A = UΣV^H

其中:

U:左奇异矩阵,描述输出空间方向
Σ:奇异值矩阵,描述每个方向上的增益
V:右奇异矩阵,描述输入空间方向
V^H:V 的共轭转置

如果是实数矩阵,也可以写成:

A = UΣV^T

真正要记住的是这句话:

SVD = 输入方向 V -> 增益 Σ -> 输出方向 U

SVD 的无线通信直觉

假设信道模型是:

y = Hx + n

如果对 H 做 SVD:

H = UΣV^H

那么可以这样使用:

发端用 V 做预编码
收端用 U^H 做接收合并

经过这样的处理,信道可以被“对角化”为若干条互不干扰的空间子信道:

y' = Σx' + n'

这就是 MIMO SVD 的核心价值。

奇异值越大,说明这条空间通道越强。奇异值接近 0,说明这条通道很弱,甚至不可用。

秩 rank 和空间流

如果一个信道矩阵 H 的 rank = 2,说明:

这个信道最多支持 2 条独立空间流。

例如一个 4x8 矩阵 rank = 2。如果 A 表示无线信道矩阵,可以理解为:

发射端有 8 维空间
接收端有 4 维空间
rank = 2 表示真正有效的独立传输通道只有 2 条

所以它最多适合发 2 流。强行发 3 流、4 流,后面的流也没有有效独立空间支撑,容易互相干扰,吞吐收益也会很差。

U、Σ、V 分别代表什么

对于:

A = UΣV^H

可以这样理解:

矩阵含义无线直觉
V输入空间的正交基发端预编码方向
Σ每个方向的增益每条空间通道强弱
U输出空间的正交基收端接收方向

例如:

σ1 = 10
σ2 = 1
σ3 = 0
σ4 = 0

这说明:

第 1 条空间通道很强
第 2 条空间通道较弱
第 3、4 条基本不可用

Reduced SVD 是什么

完整 SVD 会包含所有空间方向,包括很多无效的零奇异值方向。

如果矩阵 rank = r,只保留非零奇异值对应的部分:

A = U_r Σ_r V_r^H

这就是 Reduced SVD。

它的意义是:

只保留真正有用的 r 个信号方向。

好处包括:

计算量更小
存储更少
表达更紧凑
可以用于压缩、降噪、低秩近似

EVD 是什么

EVD,全称 Eigenvalue Decomposition,特征值分解。

对方阵 A,如果可以对角化,则:

A = XΛX^{-1}

其中:

Λ:特征值组成的对角矩阵
X:特征向量组成的矩阵

特征向量满足:

Av = λv

这句话非常重要。它的意思是:

矩阵 A 作用在某些特殊方向 v 上,只改变长度,不改变方向。

这些特殊方向就是特征向量,长度缩放倍数就是特征值 λ。

EVD 的直觉

假设:

Av = 3v

说明矩阵 A 作用在方向 v 上时:

方向不变
长度变成 3 倍

如果:

Av = 0.5v

说明:

方向不变
长度缩小到 0.5 倍

如果特征值很大,说明这个方向被矩阵强烈放大。如果特征值接近 0,说明这个方向被矩阵严重压缩。

SVD 和 EVD 的核心区别

对比项SVDEVD
适用矩阵任意矩阵,包括非方阵主要用于方阵
分解形式A = UΣV^HA = XΛX^
方向输入方向和输出方向可以不同同一组特征方向
数值稳定性通常更稳定对矩阵条件有要求
奇异值 / 特征值奇异值非负特征值可正、负、复数
应用低秩近似、MIMO、压缩、最小二乘动态系统、谱分析、对称矩阵分析

一句话:

SVD 更通用;EVD 更专注于方阵自身的特征方向。

SVD 和 EVD 的联系

SVD 可以通过 EVD 来理解。

对任意矩阵 A:

A^H A

是 Hermitian 矩阵。

它的特征值分解可以写成:

A^H A = VΛV^H

而奇异值满足:

σ_i = sqrt(λ_i)

也就是说:

A 的奇异值 = A^H A 的特征值开平方

右奇异向量 V 来自 A^H A 的特征向量。类似地:

AA^H = UΛU^H

左奇异向量 U 来自 AA^H 的特征向量。

为什么 Hermitian 矩阵很重要

Hermitian 矩阵满足:

A = A^H

实数情况下就是对称矩阵:

A = A^T

Hermitian 矩阵有非常好的性质:

特征值都是实数
不同特征值对应的特征向量正交
可以被酉矩阵对角化

也就是:

A = QΛQ^H

其中 Q 是酉矩阵。这也是很多算法喜欢把问题转成 Hermitian 矩阵的原因。

特征值和迹、行列式、秩的关系

这些关系需要记住,但不必死背。先理解它们有什么用。

迹 trace

trace(A) = 所有特征值之和

也就是:

tr(A) = λ1 + λ2 + ... + λn

行列式 determinant

det(A) = 所有特征值之积

也就是:

det(A) = λ1 × λ2 × ... × λn

秩 rank

非零特征值数量和秩有关。如果 A 是 Hermitian 矩阵,通常可以理解为:

非零特征值个数 = rank(A)

如果:

det(A) = 0

说明至少有一个特征值为 0,矩阵奇异,不可逆。

应用示例:无线信道矩阵

假设信道矩阵 A 的 rank = 2。

这意味着:

信道只有 2 个有效空间自由度。

所以:

最大支持 2 个独立信号流。

如果 SVD 得到:

σ1 = 10
σ2 = 1
σ3 = 0
σ4 = 0

那么可以理解为:

第 1 流很强
第 2 流较弱
第 3、第 4 流没有有效通道

实际 Rank 选择时,就要考虑:

发 1 流:稳,强通道
发 2 流:吞吐可能更高
发 3/4 流:基本没意义

这和 Rank 选择、等功率、等 SNR、水填充等问题都能连起来。

零空间为什么可以用于干扰抑制

有些材料里会出现类似这句话:

当有干扰用户在 N(V^H) 上发射信号时,由于 AV0 = 0,可以在发射端消除用户间干扰。

这里可以拆开理解。

SVD 中,V 可以分成两部分:

V = [V_signal, V_null]

其中:

V_signal:对应非零奇异值的方向,也就是有效信号空间
V_null:对应零奇异值的方向,也就是零空间

如果某个向量 x 位于 A 的零空间:

Ax = 0

说明:

这个方向经过信道 A 后,在接收端完全看不见。

所以,如果把干扰信号设计到这个零空间方向上:

A x_interference = 0

那么它就不会影响目标接收端。

这就是所谓:

在发射端利用零空间进行干扰抑制。

通信里类似概念包括:

零迫预编码
Null-space beamforming
干扰对齐
MU-MIMO 用户间干扰消除

一句话:

把不想让对方看到的信号,打到对方信道的零空间里。

图像压缩里的 SVD

如果 A 是图像矩阵,SVD 可以写成:

A = σ1 u1v1^T + σ2 u2v2^T + ... + σr urvr^T

每一项都是一个秩 1 分量。

奇异值越大,代表这一项携带的信息越多。低秩压缩就是只保留前 k 个最大奇异值:

A_k = σ1 u1v1^T + ... + σk ukvk^T

如果奇异值衰减很快,说明数据冗余大,用少量奇异值就能恢复主要信息。

图像压缩数字理解

假设一个 4x8 矩阵,原始存储量:

4 × 8 = 32 个数

如果 rank = 2,用 reduced SVD 存:

U_r:4×2 = 8
Σ_r:2 个奇异值 = 2
V_r:8×2 = 16
总共 = 26

严格算压缩率:

1 - 26/32 = 18.75%

如果材料里写:

1 - (4*2 + 8*2)/(4*8) = 25%

它其实忽略了 Σ 中 2 个奇异值的存储量。如果把奇异值也算进去,压缩率不是 25%,而是 18.75%。

如果只保留 1 个奇异值:

U:4×1 = 4
Σ:1
V:8×1 = 8
总共 = 13
压缩率 = 1 - 13/32 = 59.375%

如果忽略 Σ,则是:

1 - (4 + 8)/32 = 62.5%

所以 62.5% 也是忽略奇异值存储的简化算法。学习材料里的简化结论可以接受,但自己复盘时要知道它省略了什么。

经典特征值算法总览

常见算法包括:

幂法 / 反幂法 / 瑞利商迭代
QR 迭代
Jacobi 迭代
Lanczos 算法
随机 SVD

先建立一张地图:

算法主要用途适合矩阵核心特点
幂法最大特征值一般矩阵简单,只求最大
反幂法最小或指定附近特征值一般矩阵需要解线性方程
瑞利商迭代高精度特征值对称 / Hermitian 较好收敛快
QR 迭代全部特征值中小规模矩阵稳定经典
Jacobi对称矩阵特征值对称矩阵用旋转消非对角元
Lanczos少量极值特征值大规模稀疏 Hermitian高效
随机 SVD近似低秩 SVD大规模矩阵快速近似

幂法

幂法用来求矩阵最大模特征值及其特征向量。

核心迭代:

x_{k+1} = A x_k
然后归一化

为什么有效?如果初始向量可以展开成多个特征向量的组合:

x0 = c1v1 + c2v2 + ... + cnvn

不断乘 A 后:

A^k x0 = c1λ1^k v1 + c2λ2^k v2 + ...

如果:

|λ1| > |λ2| > ...

那么 λ1^k 会越来越占主导,最后方向就会趋近于最大特征值对应的特征向量。

一句话:

反复乘 A,最大特征值方向会被放大出来。

反幂法

幂法找最大特征值,反幂法找最小特征值。

因为:

A 的特征值是 λ_i
A^{-1} 的特征值是 1/λ_i

所以 A 的最小特征值,对应 A^ 的最大特征值。

反幂法就是对 A^ 做幂法。实际计算时通常不直接求 A^,而是每次解:

Ay = x

然后归一化 y。

瑞利商迭代

瑞利商是:

ρ(x) = x^H A x / x^H x

它可以看成当前向量 x 对特征值的估计。

瑞利商迭代会动态调整 shift,通常收敛很快,尤其对 Hermitian 矩阵更友好。

先记住这个层次:

幂法:简单但慢
反幂法:找小特征值或指定附近特征值
瑞利商迭代:更精细更快,但每步更贵

QR 迭代

QR 迭代用于求矩阵的全部特征值。

基本步骤:

A_k = Q_k R_k
A_{k+1} = R_k Q_k

不断迭代后,A_k 会逐渐趋近于上三角矩阵。上三角矩阵的对角线元素就是特征值。

直觉上:

QR 迭代不断做相似变换,把矩阵逐渐“挤压”成接近三角形,特征值留在对角线上。

适合:

中小规模矩阵
需要全部特征值
数值稳定性要求高

Jacobi 迭代

Jacobi 特征值算法通过一系列旋转,把对称矩阵的非对角元素逐步消掉。

适合:

实对称矩阵
Hermitian 矩阵的变体

它的目标是把 A 变成近似对角矩阵:

A -> D

对角线就是特征值。

直觉上:

每次选择一个最大的非对角元素,用旋转把它消掉。

优点是概念清楚、对称矩阵效果好;缺点是大规模问题效率不如现代算法。

Lanczos 算法

标准拼写是 Lanczos。

Lanczos 算法用于大规模稀疏 Hermitian / 对称矩阵,快速求少量重要特征值。例如:

最大几个特征值
最小几个特征值
低秩近似

Lanczos 的核心思想

它不会直接对大矩阵 A 做完整 EVD,而是构造一个低维 Krylov 子空间:

K_m(A, q) = span{q, Aq, A^2q, ..., A^{m-1}q}

然后把大矩阵 A 投影到这个低维子空间里,得到一个小的三对角矩阵 T。再求 T 的特征值,近似 A 的部分特征值。

一句话:

把大矩阵的问题压缩成小矩阵的问题。

为什么 Lanczos 高效

因为它只需要矩阵-向量乘:

Aq

不需要显式分解整个 A。

对于大规模稀疏矩阵:

Aq 很便宜
完整 EVD 很贵

所以 Lanczos 非常适合:

大规模稀疏矩阵
只关心前几个特征值
只关心低秩结构

Lanczos 和通信的关系

在无线系统里,Lanczos 可能用于:

大规模 MIMO 信道矩阵的主特征方向估计
协方差矩阵主子空间估计
波束方向估计
低秩近似
干扰子空间估计

如果有一个很大的协方差矩阵 R:

R = E[hh^H]

只想知道最大的几个特征方向,用完整 EVD 太贵,Lanczos 就有价值。

随机 SVD

随机 SVD 用随机投影快速找到矩阵的主要低秩子空间。

适合:

矩阵很大
只需要近似前 k 个奇异值和奇异向量
奇异值衰减较快

核心直觉:

用随机向量去探测矩阵的主要能量方向。

一般流程:

1. 随机生成矩阵 Ω
2. 计算 Y = AΩ
3. 对 Y 做正交化,得到 Q
4. 用 Q^H A 得到小矩阵 B
5. 对 B 做 SVD
6. 映射回原空间

一句话:

先随机抓住 A 的主要列空间,再在小空间里做 SVD。

不同分解算法怎么选

需求推荐方法
任意矩阵,想做低秩分析SVD
方阵,想看自身特征方向EVD
Hermitian 矩阵,求全部特征值QR / Jacobi
大规模稀疏,只求少量特征值Lanczos
大规模矩阵,只求近似低秩 SVD随机 SVD
只求最大特征值幂法
求最小或指定附近特征值反幂法 / shift-invert
通信信道 Rank 分析SVD
协方差主方向分析EVD / Lanczos

SVD/EVD 在无线里的重点应用

MIMO Rank 判断

奇异值个数和大小决定:

最多支持几流
每条流强弱
是否值得开高 Rank

预编码

右奇异向量 V 可以作为发端预编码方向。

接收合并

左奇异向量 U 可以作为接收端合并方向。

干扰抑制

零空间可以用于:

把干扰投到目标用户看不见的方向

压缩和降噪

保留大奇异值,舍弃小奇异值:

压缩冗余
去除噪声
保留主要结构

真正要掌握的三句话

SVD 看的是:一个矩阵把输入空间的哪些方向变成输出空间的哪些方向,以及放大了多少。
EVD 看的是:一个方阵自身有哪些方向经过变换后方向不变,只是长度缩放。
Lanczos 看的是:大规模矩阵不用全分解,只在低维子空间里近似求重要特征值。

自测问题

Q1:SVD 为什么比 EVD 更通用?

因为任意矩阵都存在 SVD,而 EVD 主要要求矩阵是方阵且满足可对角化条件。

Q2:奇异值和特征值有什么关系?

A 的奇异值等于 A^H A 或 AA^H 的特征值开平方。

Q3:rank = 2 的信道矩阵意味着什么?

最多只有 2 个独立有效空间通道,最大适合发送 2 个独立空间流。

Q4:为什么可以用零空间消干扰?

如果干扰信号位于目标信道的零空间,则经过目标信道后为 0,目标接收端看不到该干扰。

Q5:为什么图像可以用 SVD 压缩?

因为图像矩阵往往有冗余,主要信息集中在较大的奇异值上,保留前几个奇异值就能近似恢复。

Q6:Lanczos 适合什么场景?

大规模稀疏 Hermitian / 对称矩阵,只需要少量重要特征值或特征向量。

一句话总结

SVD/EVD 是理解矩阵“主方向、主能量、有效维度”的工具。
SVD 更通用,适合任意矩阵和 MIMO 信道分析;
EVD 更适合方阵、协方差矩阵和谱分析;
Lanczos、QR、Jacobi、幂法等算法则是不同规模、不同矩阵结构下求特征值的计算手段。

下一步最值得做的是:拿一个简单的 2x2 矩阵,手算一次特征值;再用 Python 对一个 2x2 或 3x2 矩阵做一次 SVD。概念会很快落到实处。

Subscribe

持续跟踪通信仿真、AI 辅助研发与技术管理

如果你也关注系统仿真、AI for RAN、研发效能和团队管理,可以通过 RSS 订阅更新,或直接邮件交流具体问题。

也欢迎围绕仿真平台、AI Coding 落地、技术团队管理等主题交流具体问题和实践经验。

Next Reading

优先推荐标签或分类相关的文章;没有足够相关内容时,补充最新文章。

向福星

无线通信算法工程师,关注系统仿真、AI for RAN、研发效能和技术团队管理。

了解作者