首页 › deep-tech › 预编码码本:波束指向的查表字典

预编码码本:波束指向的查表字典

一本薄薄的"波束菜单",凭什么能让5G在几十上百根天线上精确转向,却只花几个比特把方向告诉基站?

一、从一家只挂菜号的餐厅说起

想象一家怪餐厅:墙上不贴菜名,只贴 1 到 64 的编号。你对服务员说"来一份 37 号",厨房立刻心领神会。你从来没尝过 37 号具体是酸是辣,但你们之间靠这本编号字典达成了默契——你点编号,他上对应的菜。

预编码码本(Codebook)就是 5G 波束赋形世界里这本"编号字典"。理论上,基站用几十根天线发射信号时,能让波束指向空间里几乎任意一个方向,方向的可能性是连续且无穷多的。但终端要把"我想要哪个方向"告诉基站,不可能把一个几十维的复数向量原封不动传回去——那会吃掉太多宝贵的上行带宽。于是收发双方约定一本有限的"预编码字典",终端只需要回传一个编号(PMI),基站照着同一本字典把对应的"波束配方"取出来用。

这篇文章要回答的核心问题是:这本字典到底长什么样?它凭什么能保证我报个编号就能换到大致正确的波束?为什么偏偏是 DFT(离散傅里叶变换)这种结构?

二、先把账算清楚:为什么不直接反馈信道

要理解码本为什么存在,得先看清"直接反馈"有多贵。

预编码的数学本质很简单。设基站有 $N_t$ 根发射天线,数据符号为 $s$,预编码权重向量为 $\mathbf{w}$(一个 $N_t$ 维复数向量),那么实际发射的是 $\mathbf{w}s$。信号经过信道矩阵 $\mathbf{H}$ 到达终端,接收信号为:

$$ \mathbf{y} = \mathbf{H}\mathbf{w}s + \mathbf{n} $$

理想的预编码向量 $\mathbf{w}^\star$,是能让 $\mathbf{H}\mathbf{w}$ 信号最强的那个方向——它就是信道主奇异向量的方向。问题是,这个 $\mathbf{w}^\star$ 是一根"连续的针",要在空间里精确描述它,每个复数分量都需要不少比特。

举个具体账:一个 32 端口的基站,单个码字是 32 个复数,每个复数量化到 16 比特(实部、虚部各 8 比特),一个子带就要 $32\times16=512$ 比特。一个载波有几十上百个子带,全量反馈一次信道轻松上万比特。而终端到基站的上行控制信道是"挤牙膏"式的窄管道,这么干等于让用户为了说清"我想要点啥"就把整条上行路堵死。

所以工程上做了一个聪明的妥协:别传那根针本身,只传它在字典里的"近似坐标"。这就是码本——一个预先存好的、有限的预编码向量集合 $\mathcal{W}={\mathbf{w}_1,\mathbf{w}_2,\dots,\mathbf{w}_N}$。终端测量信道后,从字典里挑出"最像" $\mathbf{w}^\star$ 的那个 $\mathbf{w}_k$,只把序号 $k$ 反馈回去。反馈开销从"几百比特"骤降到"几个比特"。

$$ k^\star = \arg\max_{k} |\mathbf{H}\mathbf{w}_k|^2 $$

这个 $k^\star$ 就是著名的 PMI(Precoder Matrix Indicator,预编码矩阵指示)。一次 PMI 反馈,往往只有 4~11 个比特,却顶替了上千比特的信道。

三、码本的本质:把连续空间"切格子"

理解了动机,码本的设计哲学就清晰了:它是一次有损压缩。

理想的预编码向量生活在数学上一个叫 Grassmann 流形的曲面上(所有可能的波束方向构成的空间)。码本要做的,就是在这个曲面上撒下 $N$ 个"网格点",让真实方向总能找到附近一个网格点作为替身。撒点撒得好不好,用弦距离(chordal distance)来衡量——任意两个码字离得越远,整体码本越"均匀覆盖",量化误差越小。

这就是为什么经典码本设计被称为"Grassmann 流形装填(packing)"问题:让有限的码字尽量均匀地铺满整个方向空间,别挤成一团,也别留下大空洞。

flowchart TD
    A["基站广播<br/>CSI-RS 参考信号"] --> B["终端测量<br/>估计信道 H"]
    B --> C{"在码本里逐个比对<br/>找出最强方向"}
    D[("预编码码本字典<br/>N 个 w 向量")] -.提供候选.-> C
    C --> E["选出最优序号<br/>= PMI(几个比特)"]
    E --> F["上行回传<br/>PMI + RI + CQI"]
    F --> G["基站查同一本字典<br/>取出对应码字 w_PMl"]
    G --> H["用该码字对数据<br/>做预编码后发射"]

这里有一个工程师容易踩的认知陷阱:PMI 不是"波束角度",也不是"方位角+下倾角"。 它纯粹是一个查表序号,它的物理含义完全取决于码本字典里第 PMI 号向量恰好指向哪里。换一本字典,同一个 PMI 值指向的方向天差地别。所以调参数时,单看一个 PMI=37 是没有意义的,必须知道当前用的是哪本码本、几端口、什么过采样。

四、为什么偏偏是 DFT:均匀线阵的几何必然

到这里最关键的问题来了:码本里那些 $\mathbf{w}_k$ 到底长什么样?随手挑不行吗?

答案是:不行,而且有一个非常优美的数学必然,让 DFT 向量成了天选之子。

考虑基站最常见的均匀线阵(ULA):$N$ 根天线等间距排成一条直线。当一个平面波从偏离阵法线 $\theta$ 角的方向到达时,由于到达每根天线的路径差,相邻天线收到的信号会有一个固定的相位差 $\phi=2\pi d\sin\theta/\lambda$($d$ 为天线间距,$\lambda$ 为波长)。于是这个方向的"接收导向矢量"是:

$$ \mathbf{a}(\theta) = \frac{1}{\sqrt{N}}\big[1,\; e^{j\phi},\; e^{j2\phi},\; \dots,\; e^{j(N-1)\phi}\big]^T $$

看清楚了吗?这正是一个等幅、相位线性递进的向量。 而当我们把相位差 $\phi$ 取成离散值 $2\pi k/N$($k=0,1,\dots,N-1$)时,导向矢量恰好变成 DFT 矩阵的第 $k$ 列:

$$ \mathbf{w}_k = \frac{1}{\sqrt{N}}\big[1,\; e^{j2\pi k/N},\; e^{j2\pi\cdot 2k/N},\; \dots,\; e^{j2\pi(N-1)k/N}\big]^T $$

DFT 码本不是拍脑袋选的,它是均匀线阵几何结构 + 离散指向的自然产物:N 根天线、N 个码字,正好把前半个空间均匀切成 N 个等宽的方向格,每个码字对应一个波束指向。更妙的是,DFT 矩阵的列两两正交,意味着这些波束彼此"不串扰",正好覆盖整个方向空间且无冗余——这就是前面说的 Grassmann 装填的最优解(对线阵而言)。

graph TB
    subgraph C0["码字0:相位差 0°"]
        a0["天线1 0°"] ~~~ b0["天线2 0°"] ~~~ c0["天线3 0°"] ~~~ d0["天线4 0°"]
    end
    subgraph C1["码字1:相位差 90°"]
        a1["天线1 0°"] ~~~ b1["天线2 90°"] ~~~ c1["天线3 180°"] ~~~ d1["天线4 270°"]
    end
    subgraph C2["码字2:相位差 180°"]
        a2["天线1 0°"] ~~~ b2["天线2 180°"] ~~~ c2["天线3 0°"] ~~~ d2["天线4 180°"]
    end
    C0 --> P0["合成波束:正前方 (0°)"]
    C1 --> P1["合成波束:偏转一格"]
    C2 --> P2["合成波束:偏转两格"]

这张图揭示了一个反直觉但极其重要的事实:所有 DFT 码字给每根天线的"幅度"都一模一样(都是 1/√N),唯一变化的是天线之间的"相位差"。 改相位差,就是改波束指向。这也解释了为什么"相位"才是波束赋形真正在拧的那个旋钮——这正是另一篇"相控阵"主题的底子,而码本把这些相位旋钮的预设位置打包成了可查表的字典。

五、过采样:在格子之间加密插点

N 端口的 DFT 码本只有 N 个正交波束,听起来不少,但用户的真实方向几乎不可能正好落在某个格子上——大概率卡在两个码字之间。这时量化误差(用码本方向去近似真实方向带来的"波束增益损失")就上来了。

解决办法叫过采样(Oversampling):在原来 N 个正交格点之间,再插入更多的点,把相位差取得更密。引入过采样因子 $O$ 后,码字变成:

$$ \mathbf{w}_{k} = \frac{1}{\sqrt{N}}\big[1,\; e^{j2\pi k/(NO)},\; e^{j2\pi\cdot 2k/(NO)},\; \dots\big]^T, \quad k=0,1,\dots,NO-1 $$

现在候选波束数从 $N$ 个变成 $N\cdot O$ 个,波束指向更密,量化的角度分辨率更高,用户更容易找到"近邻"码字。代价是反馈 PMI 所需比特从 $\log_2 N$ 涨到 $\log_2(NO)$。这是一个典型的精度换开销的旋钮。

配置维度 配置 A 配置 B 配置 C
天线端口数 $N$ 4 8 16
过采样因子 $O$ 1 2 4
候选波束数 $N!\cdot!O$ 4 16 64
单维 PMI 比特(粗略) 2 4 6
波束指向角分辨率 低 中 高
典型反馈开销 极小 适中 较大

注意一个工程细节:过采样后的码字不再两两正交(格点间距小于正交间距),相邻波束会有些重叠。这没关系——终端反正只挑一个最强的,重叠只意味着"邻居之间稍有串扰",并不影响单用户性能。真正会因此受影响的是多用户配对,所以 MU-MIMO 场景对码本正交性更敏感。

六、从单波束到多波束:Type I 与 Type II 的分野

现实里的基站天线远不止"一根均匀线"那么简单:它是双极化的(两组正交极化的天线阵叠加在同一位置),还要支持多层传输(同时传多个独立数据流,即秩 rank>1)。于是码本结构也得跟着进化,分出了两大流派。

Type I 码本(单波束):在水平、垂直两个维度各选一个最强的 DFT 波束(再考虑过采样),然后乘上一个"双极化共相位系数"来对齐两个极化组,再按秩组合成多个正交层。它的哲学是"够用就好"——选一个主波束,反馈开销小,适合覆盖优先、单用户为主的场景。

Type II 码本(多波束组合):意识到一个真实信道方向常常是几个相邻 DFT 波束的"混合体",于是不再只挑一个,而是选 $L$ 个(通常 2~4 个)强波束,对每个分别反馈一个幅度系数和一个相位系数,再把它们加权相加,合成出一个高精度的预编码向量:

$$ \mathbf{w}^{\text{TypeII}} = \sum_{l=1}^{L} p_l\, e^{j\varphi_l}\, \mathbf{v}_l $$

其中 $\mathbf{v}_l$ 是选出的 DFT 波束,$p_l$、$\varphi_l$ 是终端反馈的幅度与相位。这相当于用字典里的几个"基本字"拼出一个"无限接近理想"的新字。代价是反馈开销数倍于 Type I。

对比维度 Type I 码本 Type II 码本
核心结构 单一最强 DFT 波束 + 双极化系数 多个 DFT 波束加权线性组合
预编码精度 中(方向量化误差较大) 高(逼近理想匹配信道)
上行反馈开销 小 大(约 3~6 倍)
空间分辨率 单一指向 可拟合复杂多径方向
典型适用 SU-MIMO、中低频段、覆盖优先 MU-MIMO、中高频段、容量优先
适合的秩 全秩皆可 主要中低秩

"为什么这样设计"的答案藏在用途里:SU-MIMO 的瓶颈是信号本身够不够强,一个粗指向的主波束就能吃下大部分增益,Type I 的省下的开销可以多传数据;而 MU-MIMO 的命门是用户之间的空间干扰,预编码必须把每个用户的波束雕得又准又窄,还要在"别人"的方向上尽量压低(这正是零陷的活儿),Type II 的精细组合必不可少。

graph LR
    subgraph TI["Type I:单波束"]
        t1["挑 1 个最强 DFT 波束"] --> t2["× 双极化共相位"] --> t3["输出 1 个指向向量"]
    end
    subgraph TII["Type II:多波束组合"]
        q1["挑 L 个强 DFT 波束"] --> q2["每波束配 幅度+相位 系数"] --> q3["加权求和"] --> q4["输出高精度向量"]
    end
    TI -.开销小.-> Use1["SU-MIMO / 覆盖"]
    TII -.精度高.-> Use2["MU-MIMO / 容量"]

七、上下行的分工:码本 vs 非码本

码本不是万能的,它和"非码本(Non-codebook)"预编码是一对分工。区别在于最优波束向量 $\mathbf{w}^\star$ 怎么得到:

flowchart TB
    subgraph FDD["FDD(上下行不同频)"]
        F1["互易性差"] --> F2["下行: 终端测信道<br/>选码本回传 PMI"]
        F2 --> F3["上行: 终端用 TPMI<br/>码本预编码"]
    end
    subgraph TDD["TDD(上下行同频)"]
        T1["互易性好"] --> T2["终端发 SRS"]
        T2 --> T3["基站测上行信道<br/>互易推出下行信道"]
        T3 --> T4["基站实时算 w<br/>非码本预编码"]
    end

这张图道破了一个关键:码本是给"没法用互易性"的场景准备的"次优但通用"方案。 TDD 系统上下行同频,基站能直接从 SRS 推出下行信道,自然倾向非码本(算得更准);而 FDD 系统上下行频差大、互易性差,只能靠 PMI 码本这条反馈通道。所以 5G 里下行在 FDD 时几乎全用码本,TDD 时大量用非码本(也会保留码本做兜底);上行则普遍用码本(终端算力有限,靠 TPMI 查表更省电)。

八、工程师实战:码本知识在哪里派上用场

知道了原理,看现网问题就会豁然开朗。几个高频场景:

1. MU-MIMO 调度配对失败。 两个用户上报的 PMI 指向"几乎相同"的码字,意味着他俩的空间信道高度相关,基站没法用预编码把他们分开——这就是码本视角下的"空间区分度不足"。优化方向不是死磕功率,而是换用户配对、或开启 Type II 码本提升分辨率。

2. PMI/CQI 上报异常导致吞吐量塌方。 终端如果长期上报固定 PMI、或 RI(秩指示)卡在 1,往往不是"网络差",而是终端在码本里找不到匹配方向(比如处于强直射径但码本栅格太稀疏),或者过采样配置与天线阵不匹配。这时候排查码本配置(端口数、过采样因子)比调功率更有效。

3. 高频段(毫米波)波束掉线。 毫米波用码本做"波束扫描"找最强指向(SSB 波束扫、CSI-RS 波束扫)。理解了"过采样 = 更密的波束栅格",就明白为什么毫米波要更大的码本、更细的扫描——因为它波束窄,栅格稀一点就漏掉用户。

常见调试陷阱:把 PMI 当成"方位角"去解读。前面强调过,PMI 是查表序号,离开码本上下文毫无意义。正确的看图姿势是结合当前码本配置 + PMI 序号 → 反查该码字的方向,而不是直接拿 PMI 数值做文章。

常见问题

Q:码本预编码和非码本预编码,到底哪个更好? A:不能一概而论。非码本精度高、能实时匹配信道,但依赖上下行信道互易性(TDD 天然友好,FDD 不行)和基站算力;码本有量化天花板,但反馈省、兼容性好、对终端算力要求低,是 FDD 的主力,也是 TDD 的兜底。现网里两者常并存。

Q:PMI 是不是就是波束的方位角? A:不是。PMI 是码本字典里的一个序号,它的物理指向完全由"当前码本结构"决定。同样的 PMI 值,在 4 端口码本和 32 端口码本里指向的方向完全不同。脱离码本谈 PMI 没有意义。

Q:为什么终端不直接把整个信道矩阵反馈回去? A:因为开销吃不消。一个高维复数信道矩阵量化下来动辄上千比特,而上行控制信道是窄管道。码本的本质就是用"几个比特的序号"去替代"上千比特的向量",是一次有损但极高效的压缩。

Q:过采样因子是不是越大越好? A:不是单调递增的好。过采样让波束栅格更密、量化更准,但 PMI 反馈比特也随之上涨,挤占上行资源。存在一个"边际收益递减"的拐点——再加密,增益提升有限,开销却线性增长。现网通常把过采样设在 2~4 之间,是精度与开销的工程平衡。

Q:Type II 一定比 Type I 好吗?为什么要保留 Type I? A:Type II 精度高但开销大,主要服务于 MU-MIMO 的精细需求。对于 SU-MIMO,单个主波束就能拿下大部分增益,Type II 多出来的反馈开销反而"得不偿失"。保留 Type I 是为了让系统在不同场景下各取所长——覆盖优先用 I,容量优先用 II。

参考来源

  1. Precoding Matrix Indicator in the 5G NR Protocol: A Tutorial on 3GPP Codebook — 一篇系统讲解 5G NR 波束赋形码本结构与 PMI 反馈机制的教程级论文。
  2. 5G NR 码本设计原理及 PMI 参数解析(CSDN) — 从 DFT 码本出发,图解 Type I/Type II 码本的空间域基构造。
  3. 详解 NR CSI 中 PMI 码本的结构原理与类型对比(阿里云开发者) — 对比 Type I/II 及增强型码本在反馈开销与精度上的核心权衡。
  4. DFT 码本快速生成——波束赋形方向权重快速计算(知乎) — 用通俗推导说明 DFT 与预编码码本、PMI 方向描述之间的内在联系。
  5. ShareTechnote — 5G NR MIMO / Codebook — 通信界公认的权威学习站点,以平实图解讲解 MIMO、预编码与码本概念。

本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入