2. 物理层(L1)基础:OFDM与SC-FDMA原理,资源网格与RE映射,物理信道与信号分类
各位好,咱们今天聊聊物理层最核心的几个概念。说实话,我刚入行那会儿,看到OFDM的公式就头疼。后来做项目调了两年,才真正摸到门道。这一章我会尽量把原理讲透,再结合我踩过的坑,帮你少走弯路。
2.1 OFDM与SC-FDMA:为什么LTE选了两种波形?
OFDM,正交频分复用。说白了就是把一个高速数据流,拆成几十上百个低速子流,分别调制到不同的子载波上。每个子载波之间是正交的,所以可以挨得很近,频谱利用率就上去了。
我印象很深,第一次在频谱仪上看OFDM信号,感觉像一排梳子齿。每个齿就是一个子载波。接收端用FFT一解调,数据就出来了。简单、高效、抗多径。
但OFDM有个大问题——峰均比高。什么意思?就是信号瞬时功率可能比平均功率高很多。这对终端来说很要命,因为功放得留很大余量,电池扛不住。
所以LTE的上行选了SC-FDMA。它本质上还是OFDM那一套框架,但多了个DFT预编码。你想想看,先把时域信号做一次DFT,再映射到子载波上,最后做IFFT。这样出来的信号,峰均比就低多了。
核心区别一句话:
- OFDM:每个子载波独立调制,峰均比高,适合下行(基站不愁功耗)
- SC-FDMA:先做DFT再映射,峰均比低,适合上行(省电)
我在项目中遇到过一个问题:某款终端在上行发射时,功放老是饱和。查了半天,发现是SC-FDMA的DFT点数没对齐。嗯,这里要注意,DFT大小必须和分配的RB数匹配,否则会引入额外失真。
2.2 资源网格与RE映射:一张图看懂物理层
LTE/NR的物理层,本质上就是一张二维网格。横轴是时间,纵轴是频率。每个小格子就是一个资源粒子(RE)。
一个RE承载一个调制符号。QPSK就是2比特,16QAM就是4比特,64QAM就是6比特。就这么简单。
资源块(RB)是调度的基本单位。一个RB在频域上占12个子载波,在时域上占1个时隙。LTE里1个时隙是0.5ms,NR里可以灵活配置。
| 参数 | LTE | NR |
|---|---|---|
| 子载波间隔 | 15 kHz | 15/30/60/120 kHz |
| 每RB子载波数 | 12 | 12 |
| 时隙长度 | 0.5 ms | 0.5/0.25/0.125/0.0625 ms |
| 每时隙OFDM符号数 | 7(常规CP) | 14 |
RE映射,就是把数据、参考信号、控制信息,填到对应的格子里。我建议你把这个过程想象成填色游戏。每个格子填什么,协议规定得死死的。
避坑指南:我曾经在实现PDSCH映射时,把DMRS的位置算错了。结果终端解调出来的星座图全是乱的。后来发现是时域偏移没算对。记住,RE映射的起点是时隙边界,不是子帧边界。
2.3 物理信道与信号分类:谁负责干什么?
物理信道和物理信号,是两个不同的概念。信道承载的是高层来的数据,信号是物理层自己产生的参考序列。
我习惯把物理信道分成三类:
- 数据信道:PDSCH(下行)、PUSCH(上行)。真正传用户数据的。
- 控制信道:PDCCH(下行调度)、PUCCH(上行反馈)。管调度和ACK/NACK的。
- 广播信道:PBCH。告诉终端小区的基本信息。
物理信号呢,主要是参考信号。比如:
- DMRS:解调用。和数据一起发,用于信道估计。
- CSI-RS:信道状态信息测量用。终端根据它反馈CQI。
- SRS:探测参考信号。基站用来估计上行信道质量。
你想想看,如果没有参考信号,接收端怎么知道信道长什么样?那就没法做均衡了。所以参考信号是物理层的眼睛。
注意:NR里引入了PTRS(相位跟踪参考信号),专门对付高频段的相位噪声。这在LTE里是没有的。做NR协议栈的朋友,一定要把PTRS的映射规则搞清楚。
2.4 一个简单的RE映射示例
咱们写个伪代码,看看PDSCH的RE映射大概长什么样。这只是示意,实际协议要复杂得多。
// 伪代码:PDSCH RE映射
for (每个分配的RB) {
for (每个OFDM符号) {
if (该符号包含DMRS) {
跳过DMRS占用的RE
}
if (该符号包含PDCCH) {
跳过PDCCH占用的RE
}
// 剩下的RE,按频域优先顺序填入数据
for (每个子载波) {
if (RE未被占用) {
写入调制符号
}
}
}
}
这段代码看起来简单,但实际实现时,边界条件特别多。比如DMRS的频域偏移、PDCCH的聚合等级、预留资源的处理。我建议你先把协议里的表格画出来,再写代码,会清晰很多。
2.5 小结
这一章咱们聊了OFDM和SC-FDMA的区别,资源网格的结构,以及物理信道和信号的分类。说白了,物理层就是一张大表格,你按规则填好,接收端就能正确解读。
下一章我会讲L2的MAC调度器,那是协议栈里最烧脑的部分。咱们到时候见。