简介:5G空口是终端与基站之间的无线接口,决定了数据如何通过物理信道传输;5G频谱则定义了传输的带宽与频点。理解两者关系,是掌握5G物理层的关键。5G空口采用灵活的子载波间隔,通过资源块RB的调度实现高效传输,而频谱参数如NR-ARFCN、带宽与RB数直接对应到覆盖和速率。在工程实践中,从基站配置、频点换算到频谱验收,都需要准确计算峰值速率并避免频点越界等常见问题。现场扫频与频谱图分析能真实反映发射情况,结合脚本换算可快速排查故障。本文提供从协议栈到频谱参数的完整换算方法,帮助工程人员在5G基站开通与维护中落地。
1. 认识5G空口与5G频谱:为什么这是5G物理层的两根主线
很多从4G转过来的人第一次拿到《5G技术与应用:认识5G空口-5G频谱》,会先被频谱那一页的表格卡住——n78、SCS=30kHz、273个RB、NR-ARFCN=630000,这些编号和4G时代完全不是一套语言。标题把空口和频谱放在一起是有道理的:空口讲的是数据在基站和终端之间“怎么发”,频谱讲的是“在哪里发、能用多宽”,两者共同决定5G的覆盖和速率。这篇内容不是科普概念,而是给参与基站开通、维护、实训室搭建的人一条落地路径:先理解空口在协议栈里的位置,再把频谱参数换算成带宽和速率,最后用仪器验证现场。适合需要动手配频点、算RB、做频谱验收的工程人员。
2. 5G空口拆解:协议栈分层、物理资源与一次完整的空口传输
2.1 空口在哪一层:从协议栈到物理信道的边界
5G空口是终端UE和基站gNB之间的无线接口,它不是一个物理端口,而是一整套协议行为。做故障排查时,凡是能看到RRC重建、随机接入失败、波束恢复、MCS掉档,基本都要回到空口找原因。空口在协议栈里的位置很明确:从MAC层向下到物理层,往上连接的是RLC、PDCP、SDAP。理解这几层分工是排查的第一步——SDAP做QoS流到数据无线承载的映射,PDCP做头压缩和加密,RLC做分段重组和按序递交,MAC做调度、复用和混合自动重传,物理层做真正的信道编码和调制。
5G空口和4G最大的差别在于灵活性。LTE把子载波间隔固定在15kHz,帧结构一刀切,5G却可以在15kHz到120kHz之间选择,这是代际需求不同导致的:LTE只需要服务20MHz带宽,5G要同时满足超大带宽、低时延和海量机器通信。为此物理层被重写,引入LDPC做数据信道编码、Polar做控制信道编码,引入大规模天线做波束管理,这些都在协议栈PHY层内完成。看5G关键技术的学习顺序,也建议先从空口切入,因为无论核心网多复杂,终端感知到的体验都由空口这一段兜底。
一次完整的空口传输链路,从接收一个高层数据包开始:MAC组装传输块,物理层把传输块拆成码块,加CRC,做LDPC编码,然后速率匹配、加扰、调制、层映射、预编码,最后把调制符号映射到资源网格上的RE位置,由射频发射出去。排障的时候要知道,速率上不去不一定在无线环境,完全可能是某种调制阶数被限制了;反过来,调制阶数又是MAC根据CQI和MCS表定的,最终反映的还是空口质量。这个链路里的任何一环出错,后台指标都会指向同一种现象,比如误码率升高或吞吐率掉档,只能一层层往下查。
2.2 一个RB里到底装了多少比特:用最小调度单位理解空口
空口资源网格的横轴是子载波,纵轴是OFDM符号。一个资源网格元素RE等于一个子载波乘一个符号,是物理层最小承载单位;RE再聚合就是资源块RB:频域12个子载波,时域1个时隙。RB之所以重要,因为MAC层的调度就是以RB为粒度进行的,终端申请资源时上报的不是RE而是需要的RB数。RB里的RE数量并不随SCS变化,始终是12乘14等于168,但时隙时长随SCS变化,所以单位时间能传输的RB数量完全不同。用下面这段Python把四种常见SCS先跑一遍,后面所有带宽、RB、速率的换算都建立在它上面。
# 计算不同子载波间隔(SCS)下一个时隙的时域长度和一个RB的RE数 scs_list = [15, 30, 60, 120] for scs_khz in scs_list: # SCS=15kHz时一个时隙是1ms,SCS翻倍,时隙减半 slot_ms = 1 / (scs_khz / 15) # 一个RB=12个子载波 x 一个时隙14个符号(常规CP) re_count = 12 * 14 print(f"SCS={scs_khz}kHz 时隙={slot_ms:.3f}ms 每RB的RE数={re_count}")输出结果可以看到:15kHz时隙1ms,30kHz为0.5ms,60kHz为0.25ms,120kHz为0.125ms。每个RB的RE数量固定为168个。这里的规律是——子载波间隔越大,符号越短,单时隙时间越短,单位时间能塞下更多时隙,理论上速率更高,但符号变短后抗多径能力变差,覆盖半径跟着缩小。理解了这组基础数值,再去看频谱上的带宽和RB数就不是记数字,而是在算信道能承载多少符号。
注意,这里的14个符号是按常规循环前缀算的,扩展CP下每时隙只有12个符号,工程上几乎不用,但看到接入网里符号数变成12时不要诧异。上行空口和下行空口在物理层处理上也有明显不对称:下行用CP-OFDM,上行为了降低终端功放的峰值平均功率比,在部分场景用DFT-s-OFDM。排障时关注点也不同,上行看终端发射功率和PUSCH功率余量,下行看基站波束和功率分配,这两条思路不能混着用。
3. 5G频谱资源池:FR1/FR2、子载波间隔与频点换算表
3.1 numerology 背后的取舍:为什么大带宽不直接用大子载波
5G把子载波间隔做成了可配置集合,术语是numerology,常见四种SCS:15kHz、30kHz、60kHz、120kHz。15kHz是为了平滑兼容LTE的符号时延,30kHz是FR1中高频段的主流,60kHz出现在FR2和一些FR1大带宽场景,120kHz则基本只用于毫米波。选择不是越大约好,大SCS符号时长更短,时隙更短,低时延性能更好,但CP也随之变短,多径保护能力下降,覆盖半径变小。所以在宏基站覆盖场景里,宁可让峰值速率略低也要选30kHz而不是60kHz,这个取舍会直接体现在小区规划参数上。
频段划分上,5G把工作频段分成FR1和FR2。FR1从410MHz到7.125GHz,包含各类Sub-6频段,覆盖能力相对可控,是5G基站室外连续覆盖的主力;FR2从24.25GHz到52.6GHz,典型就是毫米波,单载波带宽能做到400MHz,但路径损耗高,基本不能靠室外站穿透建筑,需要靠波束赋形和密集站点来补。5G设备AAU/DU/CU安装指导书里对天面形态的要求差异极大,FR1可以用常规天线阵列,FR2的AAU更小更密,安装位置必须接近用户才能发挥价值。这个区别在家庭5G网络布线场景里尤其明显:用FR1中低频段做基础覆盖,用FR2做定点容量补充,是目前比较务实的做法。
现场做频谱占用检查时,也不要完全相信后台配置,最常见的操作是拿着频谱仪或扫频设备扫一遍目标频段,看信号真实落在哪里。这个动作本质上就是频谱感知:不依赖网管,用仪器观察电磁环境,判断频段占用、干扰和杂散。5G基站开通后第一件复查就是“配置频段与实际发射频段是否一致”,很多隐性故障都藏在这个环节里。
3.2 NR-ARFCN频点与RB数换算:配置前先抄这张表
频谱资源在工程上的落地参数就是频点号和带宽。5G空口侧用NR-ARFCN标识载波中心频点,不能用LTE的EARFCN习惯直接带过来。下面这张是现场常用频段简表,按可查证的3GPP配置归纳,抄配置时可以作为第一道核对,最终以网管支持列表为准。
| 频段 | 下行频率范围 | 典型SCS | 典型带宽 | 常用RB数 |
|---|---|---|---|---|
| n28 | 758-803 MHz | 15kHz | 20MHz | 106 |
| n1 | 2110-2170 MHz | 15kHz | 20MHz | 106 |
| n41 | 2496-2690 MHz | 30kHz | 100MHz | 273 |
| n78 | 3300-3800 MHz | 30kHz | 100MHz | 273 |
| n79 | 4400-5000 MHz | 30/60kHz | 100MHz | 273/135 |
| n257 | 26.5-29.5 GHz | 60kHz | 400MHz | 264 |
| n258 | 24.25-27.5 GHz | 60kHz | 400MHz | 264 |
RB数与带宽和SCS的对应关系在3GPP里是查表得到的,不要自己用除法四舍五入。20MHz配15kHz是106个RB,50MHz配30kHz是132个RB,80MHz配30kHz是217个RB,100MHz配30kHz是273个RB,200MHz配120kHz是132个RB,400MHz配120kHz是264个RB。拿100MHz配30kHz举例,实际占用频带是273乘12乘30kHz等于98.28MHz,剩下的约1.7MHz作为保护带。这个算法能解释为什么100MHz的RB数是273而不是更整齐的数。
频点换算要把NR-ARFCN变成中心频率,常见做法是按3GPP 38.101的分段公式做。我一般直接用下面这段Python,避免手算出错。
# NR-ARFCN转中心频率,按3GPP 38.101-1分段映射 def nr_arfcn_to_freq(n_ref: int) -> float: if n_ref < 600000: # 0-3000MHz段,全局栅格5kHz return n_ref * 0.005 elif n_ref <= 2016666: # 3000-24250.08MHz段,全局栅格15kHz return 3000 + (n_ref - 600000) * 0.015 else: # FR2段,全局栅格60kHz return 24250.08 + (n_ref - 2016667) * 0.060 print(nr_arfcn_to_freq(630000)) # 输出3450.0MHz参数说明:区分两段的分界值600000对应3000MHz,2016667对应24250.08MHz。n78下行范围3300-3800MHz,对应的ARFCN大约在620000到653333之间。配n78的100MHz带宽时,中心频点填630000,得到3450MHz,和实际扫频结果吻合。反查方向也很常用:从频率算ARFCN,低段用频率除以5kHz,中高段用频率减去3000MHz后除以15kHz再加600000。做OAI 5G这类开源接入网实验时,配置参数经常按MHz给出而协议要求填ARFCN,把正向和反向两个函数都写出来,能少很多翻车。
提示:RB数必须查表,不要用带宽除以子载波间隔后四舍五入,差一个RB可能直接导致频点越界。
4. 把5G频谱参数换算成峰值速率:公式与一个真实配置
4.1 峰值速率公式每一项的物理含义
PPT里峰值速率那一页往往只给最终数值,但工程上需要还原出公式,因为每个数字都能在现场验收时反查。手算公式是:峰值速率等于一个时隙承载的有效比特数除以时隙时长。展开后由六部分构成:RB数、每RB子载波数12、时隙内符号数14、调制阶数、编码码率和MIMO层数。
RB数由带宽和SCS查表得到,100MHz配30kHz是273个RB。调制阶数是每个符号能携带的比特数,QPSK给2bit,16QAM给4bit,64QAM给6bit,256QAM给8bit,基站会根据下行信道质量CQI选调制方式,峰值速率取256QAM。编码码率指LDPC编码后的信息比特占比,3GPP的峰值配置一般取0.925,信道变差后调度器会把码率往下降。MIMO层数由终端天线能力和信道秩决定,4层是常见旗舰配置,2层终端速率直接对半。时隙时长由SCS决定,15kHz是1ms,30kHz是0.5ms,60kHz是0.25ms。
对FDD网络,上下行用不同频段,下行可以独占整套时隙;对TDD网络,还要乘一个下行时隙占比。影响最大的其实是这一项,因为同一套帧结构里下、上行和灵活时隙按比例分配,下行占比从50%到70%不等,算出来的峰值速率差距很大。公式只能算出纯下行信道能力,真正落到用户速率,还需要扣除SSB、PDCCH、CSI-RS等公共开销,这部分约占15%到25%。
提示:TDD下行时隙占比必须和网管帧结构对齐,不同站点不能通用同一个系数。
4.2 100MHz、30kHz、256QAM真算一遍
用最常见的n78配置算一遍:100MHz带宽、30kHz子载波、273个RB、时隙0.5ms、256QAM、码率0.925、4层MIMO。先看下行总能力,再叠加TDD下行时隙占比。
# 手算n78 100MHz峰值速率 rb = 273 num_sc_per_rb = 12 sym_per_slot = 14 mod_bits = 8 # 256QAM code_rate = 0.925 layers = 4 slot_s = 0.0005 # SCS=30kHz时隙时长0.5ms rate = rb * num_sc_per_rb * sym_per_slot * mod_bits * code_rate * layers / slot_s print(f"下行理论峰值: {rate/1e9:.2f} Gbps") for tdd_dl_ratio in (0.5, 0.7, 0.75): print(f"TDD下行占比{tdd_dl_ratio}: {rate*tdd_dl_ratio/1e9:.2f} Gbps") # 对比2层终端和64QAM rate_2layers = rate / 2 rate_64qam = rate * 6 / 8 print(f"2层终端: {rate_2layers/1e9:.2f} Gbps") print(f"64QAM: {rate_64qam/1e9:.2f} Gbps")代码说明:前四行先算出单时隙承载比特数,再除以时隙时长得到秒级速率。单独看273、14、8这些数字没有体感,乘起来再除以0.5ms就接近2.7Gbps。TDD下行占比0.7只是常见配比,必须和网管里的帧结构对齐。实际验收时还要扣公共开销,我一般按0.75到0.85倍继续打折。终端如果只支持2层,把layers改成2,结果立刻减半,很多人以为设备坏了,实际是终端能力没到位。64QAM时调制阶数从8降到6,峰值速率降为原来的75%,这时去查CQI和MCS表比换设备更有效。
这套换算方法换个频段也成立。FR2里400MHz带宽、120kHz SCS对应的RB数是264,同样按4层、256QAM计算,理论下行速率约10Gbps级别,但TDD下行占比和波束开销一扣,现场能稳定测到的数字会低不少。这也是为什么看5G新闻里的峰值数字和现场测试结果差很多——一个算的是理想单用户信道,一个算的是实际调度结果。做实训室方案或是基站验收,都要把“出厂纸面值”改成“现场可复现值”。
5. 频谱配置与现场验收避坑:5个翻车现象和对应解法
集中写一类现场问题,比多翻十页概念更有用。下面5个现象按出现频次排,覆盖从配置到验收的完整链条,每条都按现象、原因、解决三段记录。这些坑大多不是设备故障,而是协议参数不一致,解决办法也是先查纸面参数,再上仪器验证。做5G实训室方案或基站开通维护的人,可以把这一章当成自查清单。
5.1 现象一:频段号配置正确但扫频结果对不上
现象:后台配置n78、中心频点、带宽都对,扫频仪看到的谱峰位置却偏离几十到几百kHz,或者找不到主峰。 原因:大多是把ARFCN当普通序号手算了。n78位于3GHz以上,全局频率栅格是15kHz,而3GHz以下才是5kHz;拿5kHz做除法,差出几十个栅格就是几百kHz。另一种情况是SSB布局在带宽边缘,扫频只设了很窄的SPAN只看中心区域,当然看不到。 解决:用ARFCN转频率的脚本先算出中心频率,与扫频谱峰对比,再把扫频SPAN设成带宽的1.5倍以上看整段功率包络。谱峰中心误差控制在数十kHz内才算通过,超出就直接查频点配置,不要调功率掩盖问题。
5.2 现象二:SSB频点配好却一直找不到小区
现象:终端能检测到信号但搜不到小区,小区状态显示正常,路测工具里却长时间没有小区接入。 原因:SSB频点不在GSCN允许的同步栅格上,或者SSB子载波间隔与小区SCS不一致。5G小区同步完全依赖SSB,终端只能按标准栅格盲检,SSB落在栅格之外时,终端扫描时间会拉长甚至扫不到。 解决:把SSB频点落到GSCN表内的离散栅格上,并让SSB的SCS与小区SCS一致。FR1里小区用30kHz时,SSB通常也配30kHz。商用网管一般在重配后自动调整,但在实训室用开源基站搭建5G网络时,改配置后忘记同步物理层参数就会触发这个问题。解决手段是直接查看小区配置的GSCN字段,而不是只核对ARFCN。
5.3 现象三:带宽和RB都对,测速只有一半
现象:后台显示100MHz带宽、273个RB全部激活,终端也注册成功,实测下行只能跑到理论值一半左右。 原因:第一个排查点看BWP。终端实际工作带宽由BWP定义,如果BWP只给50MHz,后台整体带宽再宽也没用。第二看TDD帧结构,下行时隙占比过小直接砍速率。第三看终端能力,工程测试机的接收流数只有2层,而峰值公式按4层算。 解决:把BWP起始位置和大小配到与小区带宽一致;帧结构按测试预期配置,下行占比尽量到70%以上;终端换成支持4层接收的机型再复测。BWP参数不匹配在室内实训室方案里尤其常见,因为很多小基站的默认BWP为了兼容老终端被设得很窄。
5.4 现象四:室内实训室信号差,原因出在频段选择
现象:门窗外RSRP正常,进入室内实训台旁边信号掉到-110dBm以下,吞吐率断崖下降。 原因:频段穿墙能力不足。n79和FR2毫米波在室内场景几乎不能依赖室外覆盖,n78穿一堵剪力墙也会衰减到不可用。如果实训室只规划了室外宏站做覆盖,室内必然出问题。 解决:室内优先选中低频n1、n28或n78的低段做基础覆盖;有条件就装一台支持FR1的室内小基站,或独立做室内分布。这不是设备故障而是覆盖设计错误,改设计比调功率管用。家庭5G网络布线场景同理,弱电箱里的室分主设备和频段选择决定后续信号质量,这部分在勘测阶段就该决定,而不是开通后补救。
5.5 现象五:把LTE频点号当成NR频点号填进去
现象:从4G基站搬迁到5G,直接把原LTE下行频点号填进NR频点字段,小区起不来,后台告警提示频点越界。 原因:LTE用EARFCN,NR用NR-ARFCN,两套频点编号不是一回事。LTE频点号一般四位,NR频点号六位,物理频率对应关系完全不一样。例如LTE的1650对应2110MHz,在NR体系里1650对应8.25MHz,根本不在任何可用频段内。 解决:以中心频率MHz为中间值做换算,先确定目标频率,再反查NR-ARFCN。把反查结果与频段范围做校验,n78应在620000到653333之间,超出即说明拿错了体系。搬迁时要强制走“频率→ARFCN→频段校验”三步,不要直接搬字段,这条属于一次性填对最省事的规范。
6. 进阶技巧:用FFT加窗自查基站频谱占用
6.1 配置表只是纸面逻辑,频谱图才是物理现实
基站开通验收时,网管的频点、带宽、功率数值都正常,不代表射频发射一定干净。带外杂散、功放饱和、邻频干扰,这些只有频谱上能看到。没有专业频谱仪时,拿SDR采集一段IQ数据也能完成频谱占用自查。但有一个常见误区:直接做FFT不做加窗,会让谱峰两侧拖出额外旁瓣,这就是频谱泄露,容易把正常信号误判成杂散。加窗不是可选优化,而是必备步骤,Hamming窗或Blackman窗都能有效压低旁瓣,代价只是主瓣略宽,这正是“频谱泄露加窗”在工程里的实际用途。
6.2 一段可复用代码与读图逻辑
下面这段Python模拟一段含两个信号成分的IQ数据,对比不加窗和加Hamming窗后的频谱效果,可以直接改采样率和频点用于现场数据。
import numpy as np from numpy.fft import fft, fftshift fs = 15.36e6 samples = np.arange(8192) / fs signal = np.sin(2*np.pi*5.0e6*samples) # 模拟主信号,中心5MHz signal += 0.02*np.sin(2*np.pi*5.3e6*samples) # 近旁小信号,模拟干扰 for win_name, win in [("矩形窗", np.ones_like(signal)), ("Hamming", np.hamming(len(signal)))]: spec = fftshift(fft(signal * win, 32768)) freq = (np.arange(len(spec)) - len(spec)//2) * fs / 32768 peak = freq[np.argmax(np.abs(spec))] print(win_name, "峰值频率", round(peak/1e6, 3), "MHz")代码说明:采样率15.36MHz是常见基带采样率,8192个采样点约0.53ms快照,FFT补零到32768只是让曲线更平滑,不提高频率分辨率;想分开两个更近的信号,只能增加采样时长。Hamming窗压低旁瓣后,5.3MHz那个小信号更容易被看见。实际分析5G基站信号时,读图顺序是先找谱峰中心频率对照ARFCN,再量谱峰-10dB带宽,近似等于RB数乘SCS,最后加窗再看一遍确认旁瓣不是真实杂散。
我现在的习惯是,任何一次频谱验收都留一张“不加窗+加窗”的对比图,两个都对上才算通过,这个习惯帮我挡掉过多次返工。空口和频谱这套参数,配置表是逻辑,频谱图是物理,两者对不上时先信物理,再回头查配置。希望帮到你。
本文还有配套的精品资源,点击获取