简介:《5G NR: The Next Generation Wireless Access Technology》第二版是爱立信专家Erik Dahlman、Stefan Parkvall与Johan Sköld联合撰写的5G新空口权威技术著作,适合电信工程师、通信研究人员及高校相关专业学生系统学习。全书围绕5G NR核心技术展开,涵盖eMBB、uRLLC、mMTC三大应用场景,并对毫米波通信、大规模MIMO波束成形、灵活帧结构、网络切片、动态频谱共享及边缘计算融合等关键方向做了深入解析,兼顾理论原理与工程实现视角。资源为PDF格式单文件,压缩包约18.57MB,可全文检索、划线批注,阅读体验友好。目前已有402人学习浏览。对希望建立5G完整知识体系、理解NR物理层设计与组网方案的读者而言,本书提供了既有广度又有深度的技术参考。
1. 为什么还得翻开一本第二版:5G NR到底在解决什么问题
5G NR这个标题看着像一本教材的第二版,但真正翻它的人往往不是学生,而是射频、协议栈、网优和测试岗上被问题追着跑的工程师。第一版讲清楚NR是什么,第二版则要回答更现实的问题:那些标准里白纸黑字写着“R15留待后续版本”的机制,现在到底能不能用、怎么配参数、踩了什么坑。NR真正的难度不在“更快”,而在于让URLLC的1ms时延、mMTC的百万连接和eMBB的十几Gbps峰值挤进同一套载波里不互相打架。这篇文章不替你把书读一遍,而是把“读完后该怎么落地”拆开:从帧结构、初始接入到波束管理,再到避坑思路,直接给到能抄的作业。
2. 从LTE思维到NR思维:那些必须先撕掉的老地图
2.1 为什么“更快”不是NR的卖点:三类业务与物理层设计取向
做LTE出身的人看NR,最容易犯的错是拿“峰值速率”当第一标杆。单用户峰值当然重要,但它不是NR物理层设计的唯一驱动力。URLLC要求的是低时延和高可靠,业务包很小,却要求在一个时隙内完成发送和确认;mMTC要求的是海量连接,业务包更小,但要求极低的调度开销和唤醒功耗;eMBB才是传统意义上“快”的业务。
这三类业务放在同一套帧结构上,矛盾很明显:URLLC希望子帧越短越好,最好每个符号都能独立调度;mMTC希望资源粒度尽量粗,让成百上千个终端共享同一个时频资源;eMBB则希望调制阶数和层数尽量高。NR没有像LTE那样用“一个15kHz子载波间隔走天下”的省心方案,而是把子载波间隔做成参数化的numerology体系,让不同业务可以在同一个载波里用不同的子载波间隔。理解这一点,才能理解为什么第二版专门为URLLC和mMTC的联合调度增加了大量细节。
2.2 NR与LTE的帧结构分水岭:子载波间隔不再是固定的15kHz
LTE里一个子帧1ms、一个时隙0.5ms、12个子载波×14个符号这样的组合是写死的。NR最关键的变化是把“子载波间隔为15kHz的倍数”变成一个可配参数μ。μ等于0时就是15kHz,帧结构和LTE很像;μ越大,符号越短,时隙越短,单个时隙内能承载的OFDM符号数依然是14个,但整个时隙的时间被压缩。
这意味着时延敏感业务可以用120kHz的子载波间隔,一个时隙只有0.125ms,从物理层调度到HARQ反馈的周期大幅缩短。代价是子载波间隔变大后,CP的时间也变短,抗多径能力变弱,覆盖半径被压缩。这个取舍是NR所有参数选择背后的主线。看第二版时需要带着这根主线去判断“为什么这个场景推荐30kHz而不是120kHz”。
2.3 第二版新增内容:从R15到R16,书里多出来的那些章节
第二版的核心增量基本就是R16的工作。第一版里很多章节结尾写着“该功能在后续版本中增强”,第二版把这些内容变成实打实的技术描述和参数示例。范围大致包括:NR非授权频谱的接入机制、集成接入与回传(IAB)、车联网侧链路通信、定位增强、以及面向工业互联网的时间敏感网络支持。
这些功能在工程上的价值非常直接。IAB解决的是“新站铺光纤成本太高”的问题,让基站可以用无线回传接入核心网;NR非授权频谱解决的是运营商频谱资源不足时的补充通道,但它要求设备具备先听后说能力,这会直接影响调度器的行为;侧链路通信则把NR从“基站到终端”的拓扑扩展到“终端到终端”。如果只看第一版,你会以为这些还只是Plan;看了第二版,才能意识到Plan已经变成设备支持的能力。
3. NR物理层参数怎么读、怎么设:一张表看穿时频资源
3.1 numerology的四个关键参数:SCS、CP、时隙长度、带宽
读NR物理层,第一件事就是把numerology对应表背进脑子里。这个表不需要死记,可以做成速查卡放在工位上。以下是不同子载波间隔对应的基本时域参数,均按正常CP、每时隙14个符号计算:
| 子载波间隔 (kHz) | 符号净长度 (µs) | 时隙长度 (ms) | 常用场景 |
|---|---|---|---|
| 15 | 66.67 | 1 | FR1大覆盖、多径明显的农村场景 |
| 30 | 33.33 | 0.5 | FR1城区典型配置,兼顾覆盖与容量 |
| 60 | 16.67 | 0.25 | FR1特殊场景、FR2部分控制信道 |
| 120 | 8.33 | 0.125 | FR2数据信道,时延敏感 |
| 240 | 4.17 | 0.0625 | 仅用于部分同步信号 |
这里需要注意CP的开销。子载波间隔翻倍,符号净长度减半,但CP长度并不是严格减半。同一种CP配置下,CP绝对值大致是固定的,符号越短,CP在符号里占的时间比例越大。这就是为什么120kHz并不适合所有场景的原因——虽然时延低了,但循环前缀的浪费变高了,抗多径能力反而下降。
3.2 TDD时隙格式配置:用“DSU”符号串看懂上下行配比
NR的TDD配比不像LTE那样靠系统消息里的一个枚举值决定,而是由用户终端通过RRC信令拿到一个时隙格式配置表。这张表用D、U、S三个字母表示一个时隙内的符号分配:D代表全部下行,U代表全部上行,S代表特殊时隙。
S时隙由三部分组成:DwPTS(下行导频时隙)、GP(保护周期)、UpPTS(上行导频时隙)。GP的核心作用是补偿下行转上行时的传播时延,小区半径越大,需要配置的GP越长。常见配比示例:
| 时隙格式串(每5ms) | 上下行比例 | 适用场景 |
|---|---|---|
| DDDSU | 8:2 | 下行吞吐优先,城区热点 |
| DSUUU | 6:4 | 上行大流量视频回传 |
| DDSUU | 6:4,切换点更居中 | 折中方案 |
| DDDDDDDSUU | 7:3(10ms周期) | 宏站大覆盖低倒换开销 |
帧结构配置的回旋余地比LTE大很多,但也产生了新的麻烦:同一个小区内不同业务可能希望不同的上下行比例。这是NR调度器需要处理的核心矛盾,而不是像LTE那样一个配比管全城。实际工程里,我一般会先按业务的上下行流量模型选配比,然后用系统级仿真或现网拨测看上行调度时延是否满足URLLC门限。
3.3 SSB块参数:初始接入的“敲门砖”怎么配
SSB(同步信号与广播信道块)是终端进入小区的第一步。它在频域占据240个子载波,也就是20个物理资源块;在时域占据4个OFDM符号。终端通过盲检测SSB获得时间和频率同步,然后读取MIB,再往下读SIB1,才能完成初始接入。
SSB的可配参数主要有三个:周期、时频位置、以及突发内包含的SSB个数。周期可以是5、10、20、40、80、160ms中的某一个。终端在小区搜索时,会照着一个最大周期去遍历,如果你的gNB配置的SSB周期比终端预期的要长,终端可能扫不到;配得太短,又会占用大量下行符号,挤压业务信道资源。此外,SSB的实际频域位置是由同步栅格决定的,而这个栅格和普通RF信道的频率栅格不是一回事,这一点是新手最容易翻车的地方,后面会专门展开。
4. 把NR跑起来的两个关键流程:初始接入与波束管理
4.1 从小区搜索到RRC建立:与LTE相比少说的一条边
NR初始接入的主干线相对LTE是“熟悉又陌生”:小区搜索、读MIB、读SIB1、随机接入、RRC建立。熟悉的是流程骨架,陌生的是每一步都有新的频域行为。读MIB最关键的是拿到SSB的子载波间隔以及SIB1调度相关的PDCCH配置参数;读SIB1则是拿到随机接入的PRACH配置、初始BWP、公共信道的带宽和位置。
实际工程里,这条链路的排障通常从层二日志开始,而不是直接看物理层。先确认终端上报的SSB索引和RSRP是否落在预期波束上,再看RAR响应是否超时。整个流程如果卡在Msg1与Msg2之间,问题通常集中在PRACH配置与波束对应关系上;如果卡在Msg3与Msg4之间,则更可能是竞争冲突或初始BWP带宽不够。
4.2 波束管理:NR网络“看不见却能听见”的关键
FR1的中低频段,波束管理可以有也可以没有,很多场景靠宽波束就够用。到了FR2毫米波频段,没有波束管理就根本没法工作——全向发射的损耗大到你连同步信号都解不出来。NR的处理方式是让gNB发送多个波束的SSB,每个SSB索引对应一个空间方向,终端扫描后上报最强的SSB索引,后续的PDCCH和PDSCH都围绕这个波束对来工作。
波束管理不是一个单一参数,而是一整套流程:初始波束获取、波束测量上报、波束切换、波束失败恢复。第二版把波束失败恢复做得比R15更完整,终端可以在物理层检测波束失败并主动发起恢复请求,而不需要等无线链路失败再重建RRC连接。配置这类功能时最需要注意的是关联SSB与CSI-RS之间的映射关系,以及波束恢复的候选波束列表,列表太短会频繁触发失败,太长又会增加测量耗时。
4.3 用一段Python脚本验证时频栅格计算:从书上数值到本地代码
光看参数表容易头晕,我习惯用几行代码把关键数值算出来,核对配置前先做一个快速合理性检查。以下脚本演示了三个NR物理层常算问题:给定SCS和带宽求PRB数、给定TDD配比求上下行占比、给定SCS求时隙长度。
import math def prb_count(bandwidth_hz, scs_hz): # 每个PRB包含12个子载波,理论最大PRB数 return math.floor(bandwidth_hz / (scs_hz * 12)) def slot_length_ms(scs_khz): # 每时隙固定14个符号,一个符号的净周期为1/scs return 1.0 / scs_khz def tdd_ratio(slot_str): # 输入形如 "DDDSU",输出下行符号数和上行符号数近似比例 down = slot_str.count('D') up = slot_str.count('U') special = slot_str.count('S') return down, up, special print("100MHz@30kHz 理论PRB数:", prb_count(100e6, 30e3)) # 实际规范表给的是273个PRB,因为需要扣除两侧保护带 print("30kHz 时隙长度(ms):", slot_length_ms(30)) print("DDDSU 上下行特殊时隙数:", tdd_ratio("DDDSU"))脚本输出会显示:100MHz@30kHz的理论PRB数是277,但规范表里实际可用的PRB数是273,两者差出的4个PRB就是保护带和中心频点对齐的损失。如果你在做带宽规划,拿理论值直接算峰值速率,会比真实值虚高约1.5%,短期看无所谓,做覆盖和容量对标时就会被问住。TDD比例脚本的输出看起来简单,但它在批量核查站点配置时很管用——把全网的slot格式表喂进去,能快速找出上下行比例异常的小区。
这一段脚本的价值不在算法,而在于把“书上表格”变成“自己可控的校验工具”。我在做配置前会把SSB周期、时隙格式、PRB数全部过一遍脚本,避免带着低级错误上站。
5. 5G NR常见理解误区与排查思路
5.1 现象:帧结构配好了但速率起不来
配置了DDDSU,带宽也开了100MHz,现场实测下行速率就是上不去。刚开始怀疑是终端问题,换了终端还是一样。查调度日志发现PDSCH实际占用的符号数和预期差了不少,每个下行时隙都被PDCCH和CSI-RS吃掉了大量符号。再看配置,控制资源集CORESET配置得太宽,公共PDCCH占用了过多下行资源;终端又被配置了周期很短的CSI-RS,测量开销高居不下。
原因:帧结构只是给了上下行的大盘子,真正决定业务速率的是盘子里的控制开销和参考信号开销。 解决:先抓取一个完整时隙的PDSCH符号占用图,把PDCCH符号数、CSI-RS周期、SSB周期全部列出来,逐个减少不必要的高频测量项。一般把CSI-RS周期从10ms改成20ms或40ms,速率立刻有可见回升。
5.2 现象:SSB配置无误却搜不到小区
工参里SSB周期是20ms,频点也对,但终端在这个频点下搜不到小区。用扫频仪却能发现SSB存在。细查之后发现,SSB的实际中心频点落在同步栅格GSCN上,而终端配置的搜索频点是按普通RF信道栅格算出来的。两者在低频段可能恰好重合,但在某些频段上会偏离到终端根本不会去盲检的位置。
原因:5G的频点搜索使用同步栅格,而不是传统信道栅格。SSB的中心频率必须映射到同步栅格上,终端才能高效找到。 解决:用SSB频率减去同步栅格偏移量,换算出正确的GSCN,或者直接在配置中将频点设置为由SSB位置推得的绝对频率,而不是从老的载波号习惯里带过来的数值。这个坑对从LTE转过来的人特别常见,算是第一课级别的血泪经验。
5.3 现象:FR2一测就喊覆盖差
测试FR2毫米波,随便一走就掉线,现场结论写成“毫米波覆盖太差,不适合规模部署”。但事后对照链路预算发现,问题不在频段损耗,而在波束没有对准。FR2的自由空间路径损耗确实比FR1的3.5GHz高十几dB,但通过波束成形获得十几dB的阵列增益是完全可行的,关键是终端位置是否处于gNB主波束覆盖范围内,以及波束切换是否跟得上终端移动。
原因:把“未完成波束管理优化”误判成“频段本身不可用”。 解决:先做静态定点测试,确认每个点位都能找到合适的SSB波束;再做移动测试,观察波束切换是否平滑。FR2的覆盖提升,本质上是对准增益,不是单纯加大发射功率。第二版对波束失败恢复和候选波束配置的扩展,就是为了让这个“对准”过程更可靠。
5.4 现象:第二版都买了,却不知道新功能用在哪
第二版把IAB、NR非授权频谱、侧链路、工业TSN这些R16特性写得很完整,但不少人是读完就合上书,回到现网还是只配FR1载波。原因不是这些功能没用,而是它们都要跟其他功能组合才能发挥价值:IAB需要同时规划回传和接入跳数,侧链路需要车联场景的同步源配置,工业TSN需要与URLLC调度联合设计。
解决:把第二版当成“场景驱动的功能清单”来读。遇到一个新站点或新业务场景时,先问自己要解决什么约束,再回头翻对应章节,找到需要联动的参数组。常见的做法是整理一张“场景—功能—关键参数”对照表,把每个R16特性映射到可落地的网络配置上,而不是按章节顺序从头读到尾。
6. 把一本书读成可验证的参数表:从翻阅到仿真的最后一公里
读完第二版以后,我建议你把书中出现的所有数值型参数整理成一张自己的速查卡,而不是只在书上划线。速查卡按主题分块:时域参数(SCS、时隙长度、SSB周期)、频域参数(PRB数、SSB带宽、同步栅格)、流程参数(随机接入各消息超时、波束失败检测门限)、调度参数(上下行配比、CSI-RS周期)。
每个参数后面加三列:典型值、取值范围、现场最常出问题的值。比如SSB周期典型值20ms,取值范围5到160ms,现场最坑的值是160ms——终端按默认周期盲检时容易漏检。再比如PRACH配置索引决定了preamble格式和时频位置,现场最坑的是跨厂商配置时PRACH Occasion和SSB波束的映射关系不一致。这样一张卡,真正解决的是“书读完了,到现场仍然找不到参数含义”的断层。
我用这套方法做过不少次的配置校验和翻车复盘。印象最深的一次是某模拟网络项目里,整站速率不达标,查了两天原因,最后发现是时隙格式串里写错了一个符号,把DDDSU写成了DDSDU,导致每个无线帧多了一次下行到上行的转换,一个周期里白白损失了两个符号的业务承载力。从那以后,所有TDD配比、SSB周期、PRACH配置都必须过一遍脚本加自查表,两步都走完才允许上站执行。
5G NR的知识体系更新很快,但落地的方法论是稳定的:先理解为什么这样设计,再把参数抄成可验证的数字,最后用代码和日志把它钉死在配置里。这本第二版的价值正在于此——它不是让你背下所有规范,而是让你知道哪些参数决定用户体验,哪些参数在真实网络里最容易配错。希望这一套方法能帮你在下一个项目的调测中少走几个弯路。
本文还有配套的精品资源,点击获取