1. 从对角线到“超越对角线”:RIS模型发生了哪些变化
我最初接触RIS辅助通信仿真时,和大家一样,用的是最经典的那套假设:可重构智能表面每个单元独立控制反射相位,等效相移矩阵是个对角阵,
Φ = diag(e^{jφ₁}, e^{jφ₂}, ..., e^{jφ_L})。这种模型的好处是物理直观,每个单元就是一个可调负载,反射信号只改变相位,不改变单元之间的耦合关系。优化起来也简单,因为变量就是L个相位角,随便用坐标下降或者流形上的梯度上升都能跑。
但最近两年频繁出现在论文里的BD-RIS(Beyond Diagonal RIS,超越对角线RIS)把这一步推得更远了。它不再假设相移矩阵必须是对角的,而是允许RIS单元之间存在受控互连,等效成一个可重构的散射网络。换句话说,相移矩阵Φ不再只是对角阵,它可以有非对角元素,这些非对角元素代表单元之间的能量交换路径。
这个看起来不大的模型改动,实际上把整个问题从“调L个旋钮”变成了“调一个L×L维可重构网络”,优化自由度从L一下子提到了L²量级。代价也很明显:容量最大化问题从相对简单的对角相移优化,变成了带有酉对称约束的矩阵优化。很多第一次做复现的人,拿到代码会发现优化的对象从向量变成了矩阵,梯度公式也一下子变得复杂,这是最大的门槛。
那标题里“容量最大化”这个目标具体是什么?在MIMO通信里,容量最大化通常是指:给定发射总功率约束,设计发射协方差矩阵和RIS相移参数,使得等效信道H = H_r Φ H_t(在有直射链路时还要加上H_d)对应的香农容量最大。传统RIS用对角Φ能做的本质上是“相位对齐”加“阵列增益”,而BD-RIS的散射网络还可以在RIS端口之间重新分配能量,实现类似空间复用和模式调制的效果,这是对角结构做不到的。
这篇文章我会从系统模型、优化算法、Matlab实现、公平对比、常见坑这五个方面,把BD-RIS容量最大化的完整复现思路讲清楚。适合已经有传统RIS或MIMO仿真基础、想要快速上手BD-RIS的读者;如果你只是刚接触通信仿真,前半部分模型推导也能帮你建立一个清晰的数学框架。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 容量最大化问题怎么建模,先推公式再谈代码
2.1 点对点RIS辅助MIMO的系统模型
为了方便复现,我们考虑一个经典的点对点MIMO系统,发射端有M_t根天线,接收端有M_r根天线,RIS布置在两者之间,共L个反射单元。假设直射链路被遮挡,信号只能通过RIS反射链路到达接收端,这是很多RIS论文里常用的简化模型,也是验证BD-RIS增益最干净的场景。
令H₁表示L×M_t的发射端到RIS信道,H₂表示M_r×L的RIS到接收端信道。接收信号可以写成:
y = H₂ Φ H₁ x + n
其中x是M_t维发射向量,n服从独立复高斯分布,均值为零,协方差为σ² I。这里Φ就是L×L的可重构相移矩阵。传统模型里Φ = diag(e^{jφ₁},...,e^{jφ_L}),BD-RIS模型里Φ是带约束的满矩阵。
等效信道可以写成H = H₂ Φ H₁。若发射端采用零均值高斯输入,协方差矩阵为Q,且功率约束为tr(Q) ≤ P,那么系统的可达速率(也就是容量,在已知CSI且高斯输入条件下)为:
R(Φ, Q) = log₂ det( I_{M_r} + σ⁻² H Q Hᴴ )
如果进一步假设采用等功率分配,Q = (P/M_t) I,则速率简化为:
R(Φ) = log₂ det( I_{M_r} + (ρ/M_t) H₂ Φ H₁ H₁ᴴ Φᴴ H₂ᴴ )
其中ρ = P/σ² 是发射信噪比。这个等功率版本虽然在实际容量意义上略微保守,但它在数学上更利于让Φ做梯度优化,仿真时特别方便。后面在讨论注水算法时,我再补充如何升级成真正的容量最大化。
2.2 超越对角线RIS的约束是什么
BD-RIS之所以叫“超越对角线”,是因为相移矩阵不再要求对角线结构,但它也不是任意满矩阵。从电路理论看,RIS单元之间通过可重构阻抗网络互联,需要满足无源约束;若考虑无损网络,则等效相移矩阵还存在酉对称性。
最常用的建模方式是引入散射矩阵S,这个S是酉矩阵,且对于互易网络,S = Sᵀ。BD-RIS的等效相移矩阵一般通过Cayley变换与S关联。不过在实际复现时,我发现更省事的做法是:直接把优化变量设成S,并用它构造等效信道,也就是令:
Φ
