首页 › deep-tech › 出门前先变形:预编码原理

出门前先变形:预编码原理

上一轮我们聊过多天线怎么形成波束、接收端怎么把缠在一起的多股数据流拆开。这一轮换一个视角:在信号出门之前,发射端能不能先做点什么,让接收端拆得毫不费力?

答案就是本文的主角——预编码(Precoding)。它是 Massive MIMO 基站每天都在做、但很多工程师只闻其名不知其理的操作:PMI、RI、码本、互易性、SRS,这些天天挂在嘴边的词,全都是围绕它转的。

一、先看问题:两股流为什么会在空中缠死

先建立最简模型。基站两根发射天线,手机两根接收天线,各自同时传一路独立数据。接收天线1收到的,不是“流一”,而是“流一乘一个系数,加上流二乘另一个系数”;接收天线2同理,只是系数不同。写成矩阵就是无线通信里出场率最高的一行公式:

$$\mathbf{y} = \mathbf{H}\mathbf{x} + \mathbf{n}$$

其中 $\mathbf{x}$ 是发射的两路信号,$\mathbf{y}$ 是接收到的两路混合信号,$\mathbf{H}$ 就是 2×2 的信道矩阵——四个复数,分别描述“天线A到接收天线1、2”和“天线B到接收天线1、2”的衰减与相移。

麻烦在哪?在于 $\mathbf{H}$ 的形状不由你定。举一个极端例子:如果两根发射天线挨得非常近,信号几乎走同一条路,那么“天线A到接收天线1”和“天线B到接收天线1”的系数几乎一样。这时两股流在每一根接收天线上都以相同的比例混合——听感上就像两个人说话的声波在你两个耳朵里混响比例完全相同,你听到的其实是“一个人的声音”,物理上就拆不开。

这个“能不能拆开”,数学上就是信道矩阵 $\mathbf{H}$ 的秩(rank):秩为几,空中就只容得下几条互不纠缠的独立数据流。这也是为什么层数(RI 的取值)不取决于基站有多少根天线,而取决于信道的“独立性”。

二、核心思想:出门前先朝反方向拧

接收端硬拆当然可以(均衡、检测那套活儿),但信道缠得越厉害,拆得越吃力,误码越多。既然发射端多少也知道一些信道情况,能不能对着信道的“扭曲规律”,提前朝反方向拧一道?

打个比方:你面前是一面哈哈镜(信道),照出来的人是歪的。均衡的思路是“照完之后把像掰直”——那是接收端的活儿。预编码的思路更釜底抽薪:你既然知道镜子怎么歪,出门前就先把自己朝反方向摆好姿势,一照,正好是标准像。

数学上这对应线性代数里一个优美的结论:任何信道矩阵 $\mathbf{H}$ 都可以做奇异值分解(SVD):

$$\mathbf{H} = \mathbf{U}\,\boldsymbol{\Sigma}\,\mathbf{V}^{H}$$

这个式子直译成人话是:信道这个“扭曲体”可以拆成三步动作——发射端旋转($\mathbf{V}^{H}$,这就是预编码矩阵)、逐条管道缩放(对角阵 $\boldsymbol{\Sigma}$,对角线上是奇异值 $\sigma_1, \sigma_2, \dots$)、接收端旋转($\mathbf{U}^{H}$)。

发射端做完“先拧”这个动作之后,再叠加信道,接收端只需完成自己的那一拧,等效模型变成:

$$\tilde{\mathbf{y}} = \boldsymbol{\Sigma}\,\tilde{\mathbf{x}} + \tilde{\mathbf{n}}$$

$\boldsymbol{\Sigma}$ 是对角阵——每股流只影响自己,互不串扰。原本缠死的信道,被“拧”成了几条平行的、互相隔离的独立管道,每条管道的“管径”就是对应的奇异值。维基百科 Precoding 词条对此的表述是:当信道矩阵完全已知时,SVD 预编码可以达到 MIMO 信道容量——每个奇异值上传送一路数据流(配合合理的功率分配),不产生任何相互干扰。

用图把“拧之前”和“拧之后”摆在一起看:

flowchart TD
    subgraph RAW["裸发:信道里缠成一团"]
        A1["数据流一"] --> H1["信道矩阵H"]
        A2["数据流二"] --> H1
        H1 --> R1["每根接收天线<br/>两股流混叠"]
    end
    subgraph PRE["先拧后发:出门前先变形"]
        B1["数据流一"] --> V["预编码矩阵V<br/>按信道反向预拧"]
        B2["数据流二"] --> V
        V --> H2["信道矩阵H"]
        H2 --> W["接收端再拧一下<br/>两流自动分开"]
    end

注意一个容易忽略的细节:预编码矩阵和接收端的合并矩阵是一对。SVD 把“在纠缠信道里传多路”这个大难题,拆成了两端各做一次旋转的两个简单操作。说预编码是“半套方案”,另一半在接收端,这个认知在调试接收质量时很有用。

三、管道有粗有细:不是每条都值得灌水

SVD 给出的是“最多几条管道”,但管道之间粗细悬殊。视距好、相关性弱的信道,几条管道都粗;相关性强的信道,可能一条粗、一条细如发丝。衡量悬殊程度的量叫条件数:

$$\kappa = \frac{\sigma_{\max}}{\sigma_{\min}}$$

那要不要把细管道也用满?最直觉的做法是直接对 $\mathbf{H}$ 求逆做“完全反卷”(零迫使 ZF 预编码的思路),把所有管道强行拉平。问题是:把细管道的增益从 0.05 放大回 1,同时把这条管道里的噪声也放大了 20 倍——你烧掉一半发射功率,换来的容量几乎为零,还拖累了整体信噪比。

信息论给出的最优解叫注水定理(water-filling):把功率想象成水,往几条粗细不同的管道里灌,粗管道多灌、细管道少灌、细到没用的干脆不灌,总容量最大:

$$C = \sum_{i=1}^{k}\log_2!\left(1 + \frac{p_i\,\sigma_i^2}{N_0}\right)$$

这个道理直接解释了现网里 RI 的含义:手机上报 RI,本质上是在数“显著非零的奇异值有几个”。所以看到 RI 常年等于 1 或 2,不要先怀疑设备,先想想这个用户所处的信道到底撑得起几条独立管道。

四、关键难题:发射端是怎么知道信道的?

前面所有美妙的数学都有一个前提:发射端得知道 $\mathbf{H}$。但信道是收发双方之间的事,基站怎么“未卜先知”?工程上演化出两条路线,理解了这两条路线,PMI、SRS 这些日常参数就全部串起来了。

路线一:码本——双方提前合写一本“密码字典”

完整矩阵太大、上报太贵,于是收发双方提前约定一组“拧法”——这就是码本(codebook)。可以把它理解成一本波束字典:每一页是一种典型的预编码权值组合(多由 DFT 波束栅格加极化组合生成)。手机测完信道后,不用上报矩阵本身,只需翻到最合适的那一页,报一个页码。

这个页码就是 PMI(预编码矩阵指示)。配合层数(RI)和信道质量(CQI),几个到几十个比特就完成了“信道信息传递”。维基百科 CSI 词条的说法是:接收端估计信道后,通常量化后反馈给发射端——量化的载体就是码本。5G NR 里这套机制的成员与依赖关系如下(手机报 RI 之前得先选中哪个导频资源,报 CQI 之前得先定 RI 和 PMI,顺序是环环相扣的):

成员 全称 手机告诉基站什么 依赖谁
CRI CSI-RS Resource Indicator 哪个导频资源/波束最好 —
RI Rank Indicator 信道撑得起几层 CRI
PMI Precoding Matrix Indicator 字典里选中哪一页“拧法” RI、CRI
CQI Channel Quality Indicator 该拧法下能吃多大的调制码率 PMI、RI、CRI
LI Layer Indicator 哪一层信号最强 CQI、PMI、CRI、RI

NR 的码本还分粗细两档:Type I 是“从字典里挑一页”,反馈小、覆盖好;Type II 是“挑出两到四个波束做加权组合,并细化各分量的相位与幅度”,相当于用几个标准波束拼出一个非标准波束,精度上一个台阶,代价是反馈量暴涨。两者的对比:

Type I 码本 Type II 码本
选择方式 单个波束级选择 2~4 个波束线性组合
相位/幅度细化 无(仅波束级) 有(相位量化 4 或 8 档,可带子带幅度)
反馈开销 小(十几个比特量级) 大(随端口数、子带数增长)
承载信道 PUCCH、PUSCH 均可 仅 PUSCH
适用场景 宽覆盖、中低秩 高信噪比、高秩、大流量用户

码本闭环的完整时序长这样:

sequenceDiagram
    participant G as 基站
    participant U as 手机
    G->>U: 周期发CSI-RS导频
    U->>U: 估计信道矩阵H
    U->>G: 上报RI、PMI、CQI
    G->>U: 按PMI查码本预编码后发数据
    U->>U: 借DMRS核对实际信道再解调

路线二:互易性——同一条路,走一遍就懂两遍

另一条思路干脆绕开反馈:在 TDD 制式下,上行和下行用同一个频段的不同时刻。电磁波传播特性只跟频率和空间路径有关,同一频段上“你到我”和“我到你”走的是物理上的同一条路——这叫信道互易性。

于是流程变成:手机发一串上行探测信号(SRS),基站收下来直接估计上行信道;因为上下行是同一条路,下行信道也知道了——根本不需要手机报任何反馈。基站拿到完整的信道矩阵后,甚至可以现场做 SVD、现场算最优预编码,精度和时效都远超码本量化。

两条路线放在一起看:

flowchart TD
    Q["发射端想要信道信息"] --> Q1["看双工方式"]
    Q1 -->|FDD上下行不同频| CB["码本路线"]
    Q1 -->|TDD上下行同频| RC["互易性路线"]
    CB --> CB1["双方约定码本<br/>一本波束字典"]
    CB1 --> CB2["手机测完只报索引<br/>RI、PMI、CQI"]
    CB2 --> CB3["基站按页码查表预编码"]
    RC --> RC1["手机发SRS探测信号"]
    RC1 --> RC2["基站据此估上行信道"]
    RC2 --> RC3["同一条路反着走<br/>直接推算下行信道"]

维基百科 CSI 词条对此的表述是:信道信息通常需要接收端估计并反馈给发射端,但 TDD 系统可以通过反向链路估计获得——一句话道破了两条路线的分界线。

五、预编码和波束赋形,到底什么关系?

这两 个词经常混着用,其实是一对“数学名字”和“物理名字”。维基百科 Precoding 词条开篇第一句就说得很清楚:预编码是波束赋形向多流传输的推广。

拆开讲:

维度 纯波束赋形 完整的预编码
目标 单流能量聚焦 多流正交化 + 能量分配
权值粒度 常为宽带级、纯相位 可精确到子载波、复数权值
数学动作 相当于取 $\mathbf{H}$ 的主方向 相当于 SVD 对角化 + 注水
对应反馈量 一个波束索引 RI + PMI + CQI 全家桶

所以工程师嘴里说的“BF 权值”,多数时候其实就是预编码矩阵的某一列;说“预编码”,则默认多层多流的完整问题。

六、现网里它长什么样:调试视角

原理落到现网,几个高频场景值得记住:

1. RI 常年为 1,先查空间相关性。 奇异值数量缩水,多半是信道矩阵的行/列长得太像:天线间距不足(相关性随间距增大而下降)、终端贴身使用(人体遮挡造成强相关)、走廊隧道等狭窄环境(只存在一条主径)。这些都属物理现实,调参数救不了,但如果配置层面把 RI 白名单限制住了(码本配置里有专门的 RI 限制比特串),那才是白丢容量。

2. PMI 频繁跳变,吞吐会“坐过山车”。 手机在两页码本之间反复横跳,MCS 跟着震荡。本质是量化边界上的犹豫,惯用手段是拉长 CSI 上报周期、加大滤波平滑,让“页码”稳定下来。

3. 反馈链条是有顺序的,排障要按依赖来。 从上表可知:CQI 是在“已选定 RI 和 PMI”的前提下算出来的。如果基站的调度器拿到的 RI 和 PMI 已经过期,CQI 再准也是空中楼阁——高 MCS 顶着旧预编码发数据,误码率立刻报警。FDD 大带宽、高移动场景尤其要警惕“CSI 过期”这个隐形杀手。

4. 互易性路线的两个坑。 一是收发通道的幅相不一致:互易性假设收发链路完全对称,但射频通道的放大器、滤波器各有各的幅相响应,会系统性污染信道估计,因此 TDD 大规模天线系统需要周期性做通道校准,校准失效会直接表现为波束打歪、SINR 异常。二是 SRS 资源有限:小区里用户一多,探测资源不够分,部分用户只能退回码本路线,性能预期要相应下调。

5. 一个常见误区:PMI 不是信道矩阵。 它只是量化后的页码,误差是设计内的。看到“PMI 精度不够”就想去“上报完整信道”,方向就错了——上行控制信道根本驮不动那么大的反馈量,工程上的正解是 Type II 这种更细的量化,或者在 TDD 下走互易性。

标准在这套机制上允许多种实现选择,不同网络的具体配置策略以各厂家官方文档为准,但“奇异值—码本—互易性”这条原理主线是通用的。

常见问题

Q: 预编码和均衡有什么区别?不都是“掰直信道”吗? A: 方向相反。均衡在接收端,把已经收到的扭曲信号校正回来,靠的是接收端自己估计信道;预编码在发射端,趁信号还没出门先朝反方向拧,需要发射端掌握信道信息。均衡是“事后纠偏”,预编码是“事前整形”,两者在系统里常常并存。

Q: 为什么 FDD 只能走码本、TDD 才能用互易性? A: 互易性成立的条件是“同频”。FDD 上下行频点相差几十上百 MHz,折算成波长是几十个波长以上,多径的相位细节完全不同,上行测到的信道对下行没有直接参考价值;TDD 上下行同频,只隔一个收发转换时刻,路径才是“同一条路”。

Q: RI 为什么经常只有 1?是手机坏了还是基站坏了? A: 多数情况谁都没坏——是信道只能撑起一条独立管道。强相关(天线间距小、遮挡、走廊环境)、视距主径过强、码本配置里限制了 RI,都会压低 RI。先看无线环境,再查配置限制,最后才怀疑设备。

Q: 零迫使(ZF)预编码为什么不直接拿去用?它不是能完全消干扰吗? A: 消干扰的代价是放大噪声:把小奇异值管道强行拉平的过程,同时把噪声放大了条件数倍。信道好、用户多时 ZF 表现尚可;噪声受限场景下,正则化 ZF(在求逆里加一个防爆炸的小项)或 MRT 往往更划算。这正是“精确消干扰”与“保信号增益”之间的经典折中。

Q: Type I 和 Type II 码本怎么选? A: 记住开销与精度的交换律。边缘用户、中低信噪比,Type I 的小反馈已经够用;小区中心、高信噪比、需要高秩大流量的用户,Type II 的精细量化才能兑现容量。注意 Type II 反馈量大,只能搭 PUSCH 这条“宽带车道”,PUCCH 驮不动它。

参考来源

  1. Precoding - Wikipedia — 预编码的定义(波束赋形向多流的推广)、SVD 预编码达容量、MRT/ZF 线性预编码分类与有限反馈码本思想
  2. Channel state information - Wikipedia — y=Hx+n 模型、瞬时/统计 CSI 之分、TDD 反向链路估计(互易性依据)
  3. 5G CSI Report - ShareTechnote — NR CSI 报告组件(CQI/PMI/RI/LI/CRI)及其依赖关系、Type I / Type II 码本配置细节、PUCCH/PUSCH 承载限制

本文由「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学通信知识星球海报-扫码加入