当两支乐队各按各的节拍器演奏同一首曲子时,哪怕节拍只差一点点,合奏也会从一开始的"还行"迅速滑向"灾难"。无线通信里的收发载波,就是这两台节拍器。
我们讲调制解调时,常常默认一件事——收端手上有一把和发端一模一样的"尺子"。
这把尺子,就是载波(carrier)。发端用载波把基带信号搬到射频,收端再用一个同频同相的载波把它搬回来。相干解调的整个数学推导,都建立在这个前提之上:
$$r(t) = s(t) \cdot \cos(\omega_c t) \xrightarrow{\text{收端乘 }} 2\cos(\omega_c t) \;\Rightarrow\; \text{低通后还原 } s(t)$$
这里的 $\cos(\omega_c t)$ 和 $\cos(\hat{\omega}_c t)$ 必须严丝合缝。问题是:收端的 $\hat{\omega}_c$ 从哪来?
答案是一个本振(LO,local oscillator),本质上是一块晶振。它和发端那块晶振,是两块独立制造、独立供电、独立温漂的物理器件。让两块独立的晶振长期输出频率绝对一致的信号——这在物理上不可能。再加上终端在移动,电磁波还会因相对运动产生多普勒频移。于是,收端实际看到的载波,永远和发端"差一点"。这个"差一点",就叫载波频率偏移(Carrier Frequency Offset, CFO)。
理解了这一层,你就明白为什么载波同步(carrier synchronization)是解调里绕不开的第一道坎:没有同步,后面所有漂亮的星座图、均衡、解码全是空中楼阁。
把频偏拆开看,它由三个独立的物理来源叠加而成。理解来源,才能理解为什么不同场景下频偏的量级天差地别。
flowchart TD
A["发端本振<br/>f_tx (晶振)"] --> B[上变频调制]
B --> C{无线信道}
D["终端运动<br/>多普勒 f_d"] --> C
C --> E[收端]
F["收端本振<br/>f_rx (晶振)"] --> E
E --> G["总频偏<br/>Δf = (f_tx − f_rx) + f_d"]
G --> H{按子载波间隔归一化}
H -->|"整数倍"| I["整数频偏 ε_I<br/>子载波循环移位"]
H -->|"小数倍"| J["分数频偏 ε_f<br/>破坏正交性 → ICI"]
第一股歪风:本振频率漂移(LO drift)。 这是最根本、也最无法消除的。手机的晶振精度通常用 ppm(百万分之一) 来衡量。一颗普通手机晶振的标称精度大约在 10~20 ppm 量级,温补晶振(TCXO)能做到 0.5~2 ppm。听起来很小,但别忘了载波频率本身很高。以 5G NR 的 3.5 GHz 为例:
$$\Delta f_{LO} = 3.5 \times 10^9 \times 20 \times 10^{-6} = 70 \text{ kHz}$$
70 kHz 的频偏!而 NR 一个子载波间隔(SCS)通常只有 15 kHz 或 30 kHz。这意味着收端一开始连"在第几个子载波上"都可能数错 2~4 个——这就是后文要讲的"整数频偏"问题。所以工程师调试时看到的"频偏几万赫兹",根本不是异常,而是物理常量。
第二股歪风:多普勒频移(Doppler shift)。 终端相对基站运动时,电磁波频率会被"拉伸"或"压缩":
$$f_d = \frac{v}{\lambda}\cos\theta = \frac{v \cdot f_c}{c}\cos\theta$$
算一笔高铁账:复兴号 350 km/h ≈ 97 m/s,3.5 GHz 下
$$f_d = \frac{97 \times 3.5\times10^9}{3\times10^8} \approx 1134 \text{ Hz}$$
1134 Hz 对 30 kHz SCS 来说不到 4%,看似不大;但在 28 GHz 毫米波下,同样的速度 $f_d$ 会飙到 9 kHz 以上,对毫米波常用的大 SCS(120/240 kHz)虽然占比小,可叠加相噪后会显著恶化 EVM。多普勒的本质特征是"随时间变化、随运动方向变化",这决定了它不能像本振漂移那样一次校准完事,必须持续跟踪。
第三股歪风:相位噪声(phase noise)。 本振不是输出一个纯净的单频,它的瞬时相位会随机抖动,谱线是"带毛边"的。相位噪声在 OFDM 里会同时造成两个恶果:一是所有子载波整体同向旋转(公共相位误差 CPE),二是子载波间互相泄漏(也是 ICI 的一种)。CPE 可以靠导频补偿,但 ICI 部分基本无解,只能靠更好的晶振硬件压下去。
| 频偏来源 | 物理机制 | 典型量级(3.5GHz) | 时间特性 | 工程对策 |
|---|---|---|---|---|
| 本振漂移 | 收发晶振独立、温漂老化 | 数kHz~数十kHz | 缓慢、相对稳定 | 初始频偏估计+数控振荡器补偿 |
| 多普勒 | 终端相对运动 | 几十Hz~数kHz | 快变、随运动 | 持续跟踪(Costas环/导频跟踪) |
| 相位噪声 | 振荡器瞬时相位抖动 | 子载波级旋转 | 极快、随机 | 导频估CPE、硬件改善 |
频偏进了收端,破坏方式因调制体制而异。先看单载波 / 时域符号。
假设发送的基带符号序列是 $a_n$,收端存在归一化频偏 $\varepsilon = \Delta f / \Delta f_{sc}$($\Delta f_{sc}$ 为子载波间隔或符号率)。那么第 $n$ 个接收符号会带上一个随符号序号累积的相位:
$$\hat{a}_n = a_n \cdot e^{j2\pi \varepsilon \cdot n / N}$$
直觉上,这就像给整个星座图装上了一个会转的风车,而且每个符号转的角度比上一个多一点点。早期符号转得少,越往后转得越多。如果一个时隙有 14 个 OFDM 符号、每个符号几百个采样点,到时隙末尾,星座点可能已经转出了判决区,解出来的比特完全是乱的。
这就是为什么你在调试时如果忘了做频偏补偿,抓到的星座图不是"扩散成云团",而是"画成一个圆弧"——这是频偏最经典的视觉签名。云团是噪声/相噪,圆弧才是频偏。
真正让工程师头疼的,是 OFDM 对频偏的极端敏感。这要从 OFDM 的"正交"是怎么来的说起。
OFDM 的各个子载波之所以互不干扰,不是因为它们离得远,而是因为它们间距精确等于符号速率的倒数($\Delta f_{sc} = 1/T_{sym}$)。在频域看,每个子载波是一个 sinc 函数,它的峰恰好落在所有相邻子载波的零点上。收端做 FFT,等价于在每个子载波峰处采样——别人在这一点都是零,所以"我听到的只有我自己"。这就是"重叠为何不吵架"的数学根源。
可一旦有了分数频偏 $\varepsilon_f$,整个子载波网格整体平移,峰不再对准别人的零点了:
flowchart TB
subgraph 理想["理想无频偏 (ε=0)"]
A1["子载波间距 = 1/T"] --> A2["峰对准相邻子载波 sinc 零点"]
A2 --> A3["FFT 采样点:别人都为零<br/>积分结果正交 → 无 ICI"]
end
subgraph 失配["存在分数频偏 (ε≠0)"]
B1["子载波网格整体平移 Δf"] --> B2["峰落在相邻子载波 sinc 旁瓣上"]
B2 --> B3["每个子载波泄漏能量给邻居<br/>→ 子载波间干扰 ICI"]
end
把这个过程写成公式,第 $k$ 个子载波收到的信号变成了:
$$Y(k) = X(k)\,H(k)\,\underbrace{I(0)}{\text{有用项}} + \sum$$} X(m)\,H(m)\,\underbrace{I(m-k)}_{\text{ICI 干扰项}
其中 $I(\cdot)$ 是由频偏决定的耦合系数。理想时 $I(0)=1$、其余为 0;有频偏时,$I(0)$ 缩小(有用信号变弱),其余 $I(\cdot)$ 不再为 0(别的子载波能量漏进来)。这一增一减,就是 ICI 信噪比恶化的全部来源。
关键的反直觉点来了:为什么子载波越多、SCS 越小,OFDM 越怕频偏? 因为归一化频偏 $\varepsilon = \Delta f / \Delta f_{sc}$ 在分母上。SCS 越小,同样物理频偏归一化后越大,ICI 越严重。这也是为什么 LTE(15 kHz SCS)比 5G NR 的 30 kHz 配置更"娇气",以及为什么车联网/卫星等高速场景要专门考虑把 SCS 加大——加大 SCS 本质上就是在给频偏"留余量"。
| 维度 | 整数频偏 (ε_I) | 分数频偏 (ε_f) |
|---|---|---|
| 含义 | 频偏恰为子载波间隔整数倍 | 频偏含子载波间隔的小数部分 |
| 对子载波的影响 | 整体循环移位(如整体挪 3 格) | 峰偏离零点,正交性被破坏 |
| 是否产生 ICI | 否(正交性仍保持) | 是(能量泄漏) |
| 表现 | 数据子载波对错位置、解出全错 | 星座点扩散、SINR 下降 |
| 估计方法 | 靠导频/同步信号找移位量 | 靠 CP 相关或导频相位 |
既然频偏无法从硬件上根除,工程上的标准打法是:先估,再补,后跟踪。这是一条分工明确的流水线。
flowchart TD
R["接收时域信号 r(n)"] --> S1["① 粗估<br/>CP相关 / 训练序列<br/>估 ICFO + 大分数频偏"]
S1 --> C1["数控振荡器 NCO<br/>下变频补偿"]
C1 --> FFT["去 CP + FFT"]
FFT --> S2["② 精估<br/>导频 DMRS 相关<br/>估剩余 RCFO + 整数残留"]
S2 --> C2["频域相位补偿<br/>消除公共相位"]
C2 --> EQ["信道均衡 / 解映射"]
EQ --> L["判决"]
L --> TR["③ 跟踪<br/>Costas 环 / 相位跟踪<br/>压住残余漂移与多普勒"]
TR -. 反馈 .-> C2
第一步:基于循环前缀(CP)的时域粗估。 这是 OFDM 最巧妙的"免费午餐"。CP 是把 OFDM 符号尾部的一段复制到前面当保护间隔。没有频偏和信道时延时,CP 里的样本和符号尾部对应位置的样本几乎一样。有了频偏 $\varepsilon$,二者之间会多出一个固定的相位差 $2\pi\varepsilon$。于是只要计算 CP 与尾部的相关、取其相位角,就能反解出分数频偏:
$$\hat{\varepsilon}f = \frac{1}{2\pi}\,\arg!\left(\sum r^*(n)\,r(n+N)\right)$$}^{N_{cp}-1
这个方法的好处是不占额外开销——CP 本来就要发,顺手就把频偏估了。坏处是估计范围只有 $[-0.5,\,+0.5]$(一个子载波间隔内),估不出整数频偏,而且受噪声影响,精度有限。所以它适合做"粗估"。
第二步:基于导频(DMRS)的频域精估。 5G NR 在每个时隙都会插 DMRS,这些导频收发双方都知道发的是什么。收端把接收到的导频和本地已知序列做相关,找相关峰最大的子载波移位——这个移位量就是整数频偏;同时用相邻导频之间的相位差细估剩余的分数频偏。这一步把"数错子载波位置"和"残留相位"一起解决。Schmidl-Cox 算法(用两个相同的前导符号)就是这类思想的经典代表。
第三步:剩余相位/频率跟踪。 粗估+精估之后,还会剩下缓慢漂移的本振残余和快速变化的多普勒。这部分靠反馈环持续跟踪,最经典的就是 Costas 环:
flowchart TD
R["接收样本<br/>I_rx, Q_rx"] --> M["乘本地 NCO<br/>cosφ, sinφ"]
N["数控振荡器 NCO"] --> M
M --> D["判决器<br/>→ I_dec, Q_dec"]
D --> E["鉴相器<br/>e = I_rx·Q_dec − Q_rx·I_dec"]
M --> E
E --> LF["环路滤波器<br/>压噪声、定带宽"]
LF --> N
N -. 相位锁定 .-> M
Costas 环的核心是一个判决指引(decision-directed)的鉴相器:用"判决出的理想星座点"和"实际收到的点"之间的夹角作为误差信号,反馈去微调本地 NCO 的相位。误差公式
$$e = I_{rx}\,Q_{dec} - Q_{rx}\,I_{dec} = \text{Im}{(r - d)\cdot d^{*}}$$
本质就是测量接收点相对判决点的"偏角"。环路滤波器决定跟踪的速度和稳态抖动之间的折中——带宽大,跟得快但噪声多;带宽小,平滑但跟不上高多普勒。这就是为什么高铁场景下工程师要去调 PLL 环路带宽——本质是在"跟得上变化"和"不被噪声带偏"之间找平衡。
把上面的原理落到现网,5G NR 把频偏处理拆成了两个阶段,对应工程上常见的两个术语:
工程师在路测和基站日志里能直接看到这些原理的影子:
一个常被忽略的事实:频偏和定时偏差是耦合的。 频偏会让 CP 相关峰的位置抖动,反过来影响符号定时同步;定时错了又会让 FFT 窗口包含错位的样本,产生新的相位旋转。所以现网里看到星座图乱,先别急着怀疑均衡器,第一步永远是看频偏估计值和定时是否正常——这两个是地基,地基歪了上层全歪。
Q1:整数频偏和分数频偏,到底哪个更危险? A:分数频偏破坏正交性产生 ICI,是"慢性中毒"——SINR 持续下降、误码升高;整数频偏是"急性中毒"——数据整体错位,全错。现网里两者必须都处理:整数靠导频找移位,分数靠 CP/导频估相位。论修复优先级,整数频偏先于分数频偏,因为连"在第几个子载波"都没对齐时,估分数频偏也没意义。
Q2:为什么基于 CP 的频偏估计只能估到 ±0.5 个子载波? A:因为相位角的取值被限制在 $[-\pi,+\pi]$,反解出的 $\varepsilon$ 自然被限制在 $[-0.5,+0.5]$。超过一个子载波间隔的频偏,相位会"卷绕"(wrapping),无法区分 $0.3$ 和 $1.3$。所以 CP 法只能做分数粗估,整数部分必须靠导频相关找峰值位置来补。
Q3:高铁场景下,加大子载波间隔真的能解决频偏问题吗? A:能显著缓解,但不能根治。加大 SCS 让归一化频偏变小,ICI 下降;同时大 SCS 下 CP 绝对时长也短,循环前缀法估计的等效信噪比变化不大。但物理多普勒还在,跟踪环仍要工作。代价是:SCS 加大后符号变短、CP 占比可能上升、可用子载波数变化,是一个用频谱效率换鲁棒性的工程折中,不是免费午餐。
Q4:Costas 环在低信噪比下为什么会"滑周(cycle slip)"? A:低 SNR 下判决器经常判错,鉴相器得到的误差信号就不可靠,环路可能把相位"锁"到错误的稳定点(如 QPSK 锁偏 90°),表现为星座图突然整体旋转一个固定角度、之后又能恢复。滑周会导致突发性的整块错误。工程上靠差分编码、同步字校验、或限制环带宽来缓解。
Q5:相位噪声和频偏是一回事吗? A:不是。频偏是"载波频率的固定/慢变偏差",可以用 NCO 一次性或持续补偿;相位噪声是"载波瞬时相位的随机抖动",本质是噪声,无法完全补偿——它造成的 ICI 部分是硬损失。二者的频域表现也不同:频偏造成星座图旋转,相位噪声造成星座点径向扩散(云团变厚)。改善相位噪声只能靠更高质量的晶振/PLL 硬件。
本文由「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 等场景全覆盖。
