NR 下行CSI报告学习
之前孬孬已经讲述过对应的,对应CSI时对应的信道状态信息,最开始的理解可能就是单纯的信道矩阵H/SVD分解后出的右向量V,但最近更加深入的学习发现,其实这个还远不止于此,对于5GNR中的CSI信息,其实会更加深入,CSI 反馈包括多个参数,如 CQI、PMI 和 RI。
一般来讲,UE 使用信道状态信息参考信号(CSI-RS)来测量 CSI 反馈。接收到 CSI 参数后,gNB 会相应地调度下行数据传输(如调制方案、码率(对应CQI)、传输层数(对应RI)和 MIMO 预编码(对应PMI))。本图展示了 CSI-RS 传输、CSI 计算与反馈,以及基于 CSI 参数调度的下行数据传输概览。

为什么要有 RI / PMI / CQI?
从"下行 MIMO"的问题出发
下行信道(频域、子带上)可以写成:
y=HWx+n\mathbf{y} = \mathbf{H}\mathbf{W}\mathbf{x} + \mathbf{n}y=HWx+n
- H∈CNR×NT\mathbf{H} \in \mathbb{C}^{N_R \times N_T}H∈CNR×NT:下行 MIMO 信道
- W∈CNT×r\mathbf{W} \in \mathbb{C}^{N_T \times r}W∈CNT×r:预编码矩阵
- rrr:空间层数(rank)
- x\mathbf{x}x:rrr 路并行数据流
gNB 要决定三件事:
- 发几路?(rrr) RI
- 怎么发?(W\mathbf{W}W 的方向)PMI
- 每路发多快?(调制 + 编码率) CQI
但 gNB 并不知道 H\mathbf{H}H,只有 UE 才能测到。
- ✅ 所以 UE 不可能把完整 H\mathbf{H}H 反馈(开销太大),
- ✅ 只能反馈"决策结果",这就是 RI / PMI / CQI。
CSI参数的理解
RI的选择
对应的RI全称叫做Rank Indicator,通俗来说就是用来指示最大可用的MIMO层数(rank),对应的的最大空间流数。RI 定义了在特定信道条件下下行传输可能的层数。RI 也对应于下行链路传输可使用的最大非相关路径数量。其他 CSI 参数如 PMI 和 CQI 是基于 RI 提供的排名计算的。
直接理解
通俗来讲,RI表示:够的就是我可以同时发几路数据/或者说我可以同时发几流数据
RI = 信道"有多少条相互独立、可同时传输的数据通道"
如果信道方向高度相关(LOS、天线相关性高)
→ 只能发 1 路(RI=1)
如果信道"富散射、正交"
→ 可以发多路(RI=2,3,4...)
注意:📌 RI 不是天线数,是 信道的有效秩。
数学定义
对信道H进行SVD分解得到:
H=UΣVH H = U\Sigma V^H H=UΣVH
- Σ=diag(σ1,σ2,... )\Sigma = \text{diag}(\sigma_1, \sigma_2, \dots)Σ=diag(σ1,σ2,...)
- σi2=第 i 条空间模态的增益\sigma_i^2 = \text{第 }i\text{ 条空间模态的增益}σi2=第 i 条空间模态的增益
如果:
σ12≫σ22≫...\sigma_1^2 \gg \sigma_2^2 \gg \dotsσ12≫σ22≫...
那第二条、第三条流 SNR 太低,就不值得开。
UE 通过比较不同 r 下的 等效 SINR / 容量 / BLER,选一个最合适的 RI。
设最大支持 RmaxR_{\text{max}}Rmax。
对每个 RI=r\text{RI} = rRI=r:
- 假设发送 rrr 层
- 每层功率 =P/r= P/r=P/r
- 后续步骤中:
- 会选最优 PMI
- 会算对应 CQI
最终得到:
T(r)=r⋅SpectralEfficiency(CQIr)T(r) = r \cdot \text{SpectralEfficiency}(\text{CQI}_r)T(r)=r⋅SpectralEfficiency(CQIr)
RI的选择准则(核心)
RI∗=argmaxrT(r)\boxed{\text{RI}^* = \arg \max_{r} T(r)}RI∗=argrmaxT(r)
RI 不是"信道秩",而是"吞吐最优的层数"
PMI的选择
PMI的全称是Precoding Matrix Indicator,主要就是用来指示基站该如何进行预编码来提升SINR,对应的就是V,因为前面我们说了SVD中的V是用来指示发射端最优传输方向,所以之前学习的知道,其实对应的会对应取对应r列的V作为预编码W。
这是之前对应SVD那一帖子学习的,现在有一个更加深入的理解,对于NR中,是没办法直接传 V的,代价太大,所以PMI 不是直接反馈 V 而是从一个"预定义码本"中选一个最接近 V的矩阵。
通俗点来讲:
PMI = UE 告诉 gNB:
"你发信号时,天线加权方向选这个最合适"
也就是:
选波束方向
选空间流之间如何正交
尽量 最大化 SINR / 减少层间干扰
对于3GPP中现在使用的都是基于码本的PMI选择,对应的包括TypeI/II/ETypeII等。
PMI = 码本索引
3GPP 给定一个预编码码本:
W={W1,W2,... }\mathcal{W} = \{ \mathbf{W}_1, \mathbf{W}_2, \dots \}W={W1,W2,...}
- 每个 Wi∈CNT×r\mathbf{W}_i \in \mathbb{C}^{N_T \times r}Wi∈CNT×r
- 不同 RI 使用不同码本
UE如何"试遍"所有PMI?
对应固定 RI=r\text{RI} = rRI=r:
对每个 PMI=i\text{PMI} = iPMI=i:
- 计算等效信道
Heq,i=HWi\mathbf{H}_{\text{eq},i} = \mathbf{H}\mathbf{W}_iHeq,i=HWi - 计算每层 SINR
例如 ZF / MMSE 接收:
SINRi,k=∣hi,k∣2∑j≠k∣hi,j∣2+σ2\text{SINR}{i,k} = \frac{|\mathbf{h}{i,k}|^2}{\sum_{j \neq k} |\mathbf{h}_{i,j}|^2 + \sigma^2}SINRi,k=∑j=k∣hi,j∣2+σ2∣hi,k∣2 - 得到该 PMI 下的"层 SINR 向量"
γi=[γi,1,...,γi,r]\boxed{\gamma}i = [\gamma{i,1}, \dots, \gamma_{i,r}]γi=[γi,1,...,γi,r]
PMI的选择准则
UE 选择:
- 最大 平均 SINR
- 或最大 ESM 等效 SINR
- 或最小 预测 BLER
PMI∗=argmaxif(γi)\boxed{\text{PMI}^* = \arg \max_{i} f(\boxed{\gamma}_i)}PMI∗=argimaxf(γi)
PMI的本质
PMI 是"在给定 RI 下,使等效信道最优的预编码选择"
让 HWH\mathbf{H}\mathbf{W}^HHWH "最接近对角化"
CQI的选择
CQI(Channel Quality Indicator)指示链路质量并用于选取 MCS(调制 + 码率),MCS对应是有一个表的,在标准中定义的,他会对应出调制和编码码率对应关系。CQI一定是计算得到对应的RI和PMI后的结果。
CQI = UE 告诉 gNB:
"在你用我选的 RI + PMI 的前提下,我最多能稳定解码多激进的 MCS"
它不是"信道好坏的抽象指标",而是 "MCS 能力报告"。
CQI 的计算逻辑(核心)
UE做的是:
- 计算 每层 / 每子带 SINR
- 做 SINR → BLER 映射
- 找最大 MCS,满足,比如:
BLER≤10%(标准门限)\text{BLER} \le 10\% \quad (\text{标准门限})BLER≤10%(标准门限) - 把这个 MCS 映射成一个 CQI 索引
CQI ≈ "我建议你用的 MCS 等级"
总结思考
1、对应的CSI-RS到达UE端,显然会进行信道估计,得到对应H
2、对应的H进行比如子带处理等操作,然后进行对应的SVD分解。
3、 对应的根据SVD分解数据进行分析,分三步走:
Step 1: 选 RI(能开几条空间流?) 对应决定发那几条路
Step 2: 在这个 RI 下选 PMI(怎么发最好?) 对应决定怎么发
Step 3: 在这个 RI + PMI 下算 CQI(能用多激进的 MCS?) 对应决定发多快
测试,找到最好方案,来目的是让下行链路的吞吐量最大
CSI-RS → Ĥ
↓
for RI = 1...Rmax:
for PMI in codebook(RI):
compute SINR
compute CQI
select best PMI & CQI for this RI
select RI with max throughput