news 2026/10/22 13:25:03

5G NR SIB2完全解读:字段解析、配置调优与避坑指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5G NR SIB2完全解读:字段解析、配置调优与避坑指南

简介:面向5G网络优化与运维工程师,这份文档聚焦5G(NR)网络中系统消息SIB2的完整解析,重点解决SIB2字段含义模糊、小区重选参数配置困难的问题。内容基于3GPP 38.304等标准,系统说明SIB2在开放系统信息(OSI)中的定位,从逻辑信道BCCH、传输信道DL-SCH到物理信道PDSCH的传送链路,并逐项拆解小区重选公共信息、服务小区频率信息、同频及异系统重选参数。文档还从gNB到UE的信令方向、SI-RNTI扰码机制入手,帮助读者厘清SIB2消息的调度与传输流程,避免与LTE周期广播机制混淆。对于UE行为控制、SIB1调度关系以及周期性与按需发送机制也有清晰描述,适合需要深入掌握NR小区重选原理、开展网络优化和参数调优的工程师阅读。资源包为单个Word文档,大小291KB,全文结构层次分明,涵盖Q-RxLevMin、Q-QualMin、SIntraSearchP/SIntraSearchQ门限、SMTC测量配置、ssb-ToMeasure及t-ReselectionNR-SF等关键字段说明,可直接作为日常优化配置的参考笔记。目前已有393人学习浏览,对5G网络优化人员有较高的实用价值,可帮助快速建立SIB2整体认知,并落地到实际网络的测量门限配置与重选策略调整中。

1. 5G(NR)网络里最容易背锅的系统消息:SIB2 到底在管什么

SIB2 在 5G(NR)网络的系统消息里是个特殊角色:它不像 SIB1 那样有固定 160ms 周期,也不像 MIB 那样只有几十个比特,但它管着 UE 接入小区最关键的“第一脚油门”——随机接入。现网里很多接入失败、时延虚高、终端“挑小区”的疑难杂症,查到最后都绕回 SIB2 的字段配置。标题里这份关于 SIB2 及主要字段的文档,核心要回答的其实就是三件事:SIB2 在什么位置被广播、字段里每个参数管什么、配置错了会有什么后果。这篇整理会把从空口抓包到参数调优再到避坑的路径完整走一遍,适合刚接触 NR 信令的测试工程师,也适合被随机接入问题折腾过的网优同事对照自查。

2. 从空口把 SIB2 捞出来:调度链路、抓包过滤与周期核算

2.1 先理清读取链路:SIB2 不是独立定时广播的

LTE 时代很多人习惯在信令里直接按周期找 SIB2,但在 5G(NR)里这招行不通。SIB2 没有自己固定的广播周期,它由 SIB1 里的 schedulingInfoList 显式调度。UE 的开机读取链路是:先解 MIB 拿到 SFN 和 SSB 子载波偏移,再读 SIB1,从 SIB1 的调度信息里找到 SIB2 的时域窗口,最后才轮到 SIB2 出场。

这条链路里最关键的一环是 SIB1。SIB1 里每个 schedulingInfo 都携带了 si-Periodicity、si-BroadcastStatus 和 si-WindowLength,它们共同决定了一个 SIB 在什么时间窗内出现。SIB2 的调度周期通常配在 160ms 到 640ms 之间,视网管策略而定。如果 SIB1 里根本没列出针对 SIB2 的调度项,UE 就永远收不到 SIB2,后果是 UE 虽然能同步、能读系统消息,但无法发起随机接入。

理解这条链路的意义在于排障顺序:一旦发现 UE “读不到 SIB2”,先别急着怀疑覆盖,而是回头检查 SIB1 的 schedulingInfoList 里有没有 SIB2、周期配没配错。这是新手最容易踩的第一个坑,也是整条读取链路的逻辑起点。

2.2 抓 SIB2 的最小流程:从 SIB1 定位到空口解码

真机上抓 SIB2 通常用路测软件或基站侧日志导出 pcap,再用 Wireshark 的命令行工具 tshark 做过滤。这里给一套不依赖特定厂商工具的最小流程:先把 pcap 里的 SIB1 全部列出来,确认调度信息存在;再直接过滤 SIB2,把关键字段一次性打出来。

# 1. 先看空口 pcap 里有没有 SIB1,列出每条 SIB1 所在帧号 tshark -r nr_attach.pcap -Y "nr-rrc.sib1" -T fields \ -e frame.number -e nr-rrc.sib1.systemInformation # 2. 确认 SIB1 存在后,过滤 SIB2 并打印核心字段 tshark -r nr_attach.pcap -Y "nr-rrc.sib2" -T fields \ -e frame.number \ -e nr-rrc.sib2.rach_ConfigCommon \ -e nr-rrc.sib2.ue_TimersAndConstants

这段命令的逻辑是先用-Y做显示过滤,再用-T fields只抽取需要的字段。第一步的目的是确认 SIB1 正常,第二步才是真正读 SIB2 内容。实际使用时有个常见问题:不同版本 Wireshark 的字段名不完全一样,如果第二条命令过滤结果为空,先执行tshark -G fields | grep sib2看看当前版本支持哪些字段名,再替换-e后面的参数。

还要注意抓包质量。SIB2 的传输块比 SIB1 大,弱场下容易分段或 CRC 错,pcap 里会出现“SIB2 存在但解不出完整内容”的情况。这时候先看nack或reassembly相关字段,确认是不是空口丢段,而不是协议栈解码的锅。

2.3 SIB2 调度周期:算一笔“接入慢”的时延账

排障时很多人把接入慢归咎于 PRACH 参数,却忽略了 SIB2 本身的调度周期。SIB2 的周期由 SIB1 里的 si-Periodicity 指定,可选范围从 sf5 到 sf1280。对初始接入的 UE 来说,它在空闲态醒来后必须先读完 SIB2 才能发起随机接入,而这个“读”是等广播窗的,平均等待时间约等于半个调度周期。

把账算清楚:如果 SIB2 周期从 160ms 改成 640ms,UE 平均就要多等 240ms。这个数字放在单用户身上不明显,但批量终端同时做业务唤醒时,网络侧统计到的接入时延整体抬高 200ms 以上,而且随机接入成功率、RRC 建立成功率通通都是绿的。我一般会把这个检查放在接入类问题排查的第一步:先看调度周期,再怀疑前导序列、功率参数。

顺带一提,Si-WindowLength 也有影响。窗口开得太短,UE 可能在跨调度周期时错过一次 SIB2 广播;窗口开得太长又浪费 PDCCH 资源。现网默认值通常够用,不建议为了“稳妥”盲目拉长。

3. SIB2 主要字段逐个拆:PRACH 资源、前导序列与 UE 定时器

3.1 rach-ConfigCommon:PRACH 频域位置、根序列与功率控制

SIB2 里分量最重的就是 rach-ConfigCommon,它本身是一个 CHOICE 结构,要么是 setup,要么是 release。release 意味着网络侧不广播随机接入公共配置,UE 拿到这个值后没有合法的前导配置可用,只能停在 RRC_IDLE,接入流程直接走不下去。所以在网管上见到 rach-ConfigCommon 被配成 release,基本等于这个小区“谢绝新用户”,一般只在特殊测试场景才会这么干。

setup 分支下的字段才是日常调参的主战场,常用字段整理如下:

字段取值范围单位/含义现网常见值
prach-ConfigurationIndex0~255PRACH 配置表索引,决定前导格式和时域密度27、109 等
msg1-FDMone/two/four/eightPRACH 在频域上的复用层数two、four
msg1-FrequencyStart0~maxNrofPhysicalResourceBlocks-1第一个 RO 的频域起点,RB 粒度视 BWP 规划
zeroCorrelationZoneConfig0~15循环移位配置,间接决定根序列能生成多少前导9、12、13
preambleReceivedTargetPower-202~-60 dBmgNB 期望的 PRACH 接收功率-104~-92
preambleTransMaxn3~n64前导最大发送次数n10、n20
powerRampingStepdB0/dB2/dB4/dB6每次发送失败后的功率爬升步长dB2、dB4

注意 preambleReceivedTargetPower 是“接收目标功率”而不是发射功率。UE 会用它配合下行路损估计来算出初始发射功率,公式大致是:发射功率 = min(UE 最大功率, preambleReceivedTargetPower + 路损估计 + 前导格式相关偏移)。如果这个值配得太低,边缘 UE 的初始发射功率会偏小,前导到达 gNB 时低于检测门限;配得过高,近点 UE 一上来就大功率发射,既浪费终端电量,还可能对邻区上行造成干扰。

prach-ConfigurationIndex 是个需要查表的索引,对应 38.211 里的 PRACH 配置表。格式决定前导长度和时隙位置:Format 0/1/2 是长前导,适合广覆盖;Format A/B/C 是短前导,适合低时延和高容量。有的项目图省事直接套用索引,结果在 30kHz 子载波间隔下配出了一个不支持的格式组合,UE 侧解码失败但网管侧看着索引合法,这种“黑匣子”问题后面章节会专门说。

3.2 ssb-perRACH-Occasion 和 CB-PreamblesPerSSB:接入容量怎么算

这两个字段在 ASN.1 里是合在一起的 CHOICE:ssb-perRACH-Occasion 决定每个 SSB 波束映射到几个 RACH Occasion(RO),CB-PreamblesPerSSB 决定每个 SSB 在 RO 上分配多少个基于竞争的前导序列。它们共同决定小区在波束扫描周期内的随机接入容量。

举例说明:SSB 波束数是 8,ssb-perRACH-Occasion 配 one,意味着每个 SSB 对应一个 RO;如果 msg1-FDM 配 two,那么同一时刻有两个频分 RO,8 个波束就需要 16 个 RO 才能完成一轮完整映射。CB-PreamblesPerSSB 配 n16 时,每个 SSB 有 16 个竞争前导可用。并发接入用户一多,前导碰撞概率会明显上升,表现为 RAR 收到了但 msg3 冲突,随后 UE 退避重试。

这里有个容易忽略的容量关系:可用竞争前导数 = CB-PreamblesPerSSB × (每个 SSB 对应的 RO 数) × (波束数)。如果规划时把波束数从 8 改成 16,但 ssb-perRACH-Occasion 还是 one,RO 总数翻了一倍,占用的时频资源也随之翻倍。下行覆盖解决了,上行 PRACH 资源却可能和 PUCCH 打架,这是很多容量优化项目的隐性坑。

从覆盖角度看,ssb-perRACH-Occasion 配得过大并不一定是好事。UE 选择 SSB 后要在对应的 RO 上发前导,如果 RO 与 SSB 的映射关系超出了 UE 的波束扫描行为预期,某些远端 UE 可能在选定波束后找不到可用的 RO,表现为“明明 SSB 信号很好,却发不出前导”。这个字段的规划要和 SSB 波束数量联动,不能单独定。

3.3 ue-TimersAndConstants:五个定时器决定 UE 主动放弃的时机

SIB2 里除了 RACH 配置,还有一组 UE-TimersAndConstants,它广播的是 UE 公共侧定时器。这些定时器看似不起眼,实际决定了 UE 在异常情况下“等多久、试几次、何时放弃”。最常用的是这五个:

定时器取值范围启动场景默认值参考
t300ms100~ms6000发送 RRCSetupRequest 后等待 RRCSetup1000ms
t301ms100~ms6000发送 RRCReestablishmentRequest 后等待响应1000ms
t310ms50~ms6000物理层上报失步后等待恢复1000ms
t311ms1000~ms16000触发 RRC 重建立后等待小区选择10000ms
t319ms100~ms6000发送 RRCResumeRequest 后等待响应2000ms

t300 是最常被调的一个。它控制的是 UE 从发 RRCSetupRequest 到收到 RRCSetup 的最大等待时间。调小了,弱场 UE 在 RAR 已经收到但 RRCSetup 还没到的情况下就自行判负,RRC 建立成功率会掉;调大了,随机接入已经失败但 UE 还在空等,用户感知时延虚高,RRC 建立成功率却依旧好看。所以这个参数不是越大越好,要看失败率和时延两个指标的平衡。

t310 和 t311 的组合决定了无线链路失败之后 UE 多久走到 RRC 重建立。现网弱覆盖区域如果 t310 配得过大,UE 会较长时间待在失步状态,业务中断感知被拉长;配得过小,又可能因为一次瞬时衰落下探就触发重建立,造成不必要的信令风暴。SIB2 里广播的是公共值,如果小区按场景区分了不同业务类型,公共定时器往往会偏向“保守安全”,这时候就要靠 RRC 专用定时器来差异化,不过那属于后话。

4. 把字段变成配置:SIB2 参数换算与一个园区的调参实例

4.1 做配置前先会换算:前导格式、循环移位与 RO 频域起点

SIB2 里的字段不少是索引值,直接看数字看不出物理意义。动手配置前先掌握三组换算关系。第一组是 prach-ConfigurationIndex → 前导格式与时域位置:查 38.211 的 PRACH 配置表,索引后面对应的是 Format、时隙号和符号位置,这条链路决定了前导是长是短、密度是高是低。

第二组是 zeroCorrelationZoneConfig → Ncs 循环移位 → 每根根序列可生成的前导数。Ncs 越大,抗时延扩展能力越强,但每根根序列能生成的前导数越少。估算时可以用小区半径倒推需要的保护间隔,再查表选 Ncs。下面这个脚本只是辅助换算的思路,最终取值仍然以协议表为准:

# SIB2 参数换算示例:按小区半径估算需要的循环移位保护 # 仅用于前期规划,实际 Ncs 需查 38.211 表 6.3.3.1-5 cell_radius = 5000 # 目标覆盖半径,单位米 l_ra = 839 # 长前导格式常见根序列长度 delay_spread = 1.5 # 典型城区时延扩展,单位 us # 往返时延 + 时延扩展,得到需要的循环移位保护时间 guard_us = cell_radius * 2 / 300 + delay_spread print(f"需要的循环移位保护约 {guard_us:.2f} us") # 根据保护时间查表得到 Ncs 后,估算每根序列可用的前导数 n_cs = 119 # 示例值,实际查表得到 preambles_per_root = l_ra // n_cs print(f"每根序列可生成约 {preambles_per_root} 个前导")

这段脚本的两步逻辑是:先用覆盖半径算出往返时延加时延扩展,得到对 Ncs 的需求;再用根序列长度除以 Ncs 估算前导容量。实际查表时要注意区分长前导和短前导,前者 L_RA=839,后者 L_RA=139 或 571,高移动性场景还要换另一张表。脚本里把 n_cs 写成示例值,是为了避免读者误把估算当协议值。

第三组是 msg1-FrequencyStart 与 RO 频域位置。msg1-FrequencyStart 单位是 RB,表示第一个 RO 相对 BWP 起点的偏移。RO 实际占用的 RB 数由前导格式决定:长前导约 6 个 RB,短前导在 30kHz 子载波间隔下约 12 个 RB,具体以 38.211 配置表为准。配置时要把“BWP 起点 + FrequencyStart + RO 带宽”画在一张资源格子上看,确保 RO 不超出 BWP、不与 PUCCH/SRS 冲突。

4.2 一个园区覆盖场景的 SIB2 配置清单

用一个虚构场景把字段串起来:某工厂园区,SA 组网,100MHz 载波,上行 BWP 20MHz@30kHz,SSB 波束 8 个,目标覆盖半径约 500 米,终端以手持扫码设备和 AGV 为主,用户密度中等。按这个前提,一套可落地的 SIB2 配置如下:

字段规划值规划理由
prach-ConfigurationIndex27短前导+中等时域密度,兼顾接入时延和导频开销
msg1-FDMtwo20MHz 上行 BWP 内做 2 层频分 RO,提升容量
msg1-FrequencyStart30把 RO 推到 BWP 中段,避开 PUCCH 公共资源
zeroCorrelationZoneConfig12覆盖 500m,预留足够循环移位保护
preambleReceivedTargetPower-100 dBm中等目标功率,边缘 UE 初始发射功率不至于过冲
preambleTransMaxn10允许 10 次尝试,兼顾弱场与信令开销
powerRampingStepdB2平缓爬升,避免功控过冲导致干扰
ssb-perRACH-Occasionone8 波束与 RO 一一映射,简化规划与排障
CB-PreamblesPerSSBn16每波束 16 个竞争前导,满足中等并发
t300ms1000维持默认,平衡建立失败率与等待时延
t310/t311ms1000/ms10000弱场可接受,暂不收紧

这套配置的核心思路是“先保证覆盖,再谈容量”。500 米覆盖半径对短前导来说余量足够,zeroCorrelationZoneConfig 选 12 是查表后留了 20% 以上的保护余量;msg1-FDM 选 two 而不是 four,是因为园区上行 BWP 只有 20MHz,RO 占太多会被 PUCCH 挤压。如果后续并发用户量上来,优先调 CB-PreamblesPerSSB 到 n24 或 n32,而不是直接翻倍 msg1-FDM,这样资源开销更可控。

4.3 配完怎么验证:网管配置与空口解码双向核对

参数下发后不能只看网管界面显示“配置成功”,要拿空口实测结果做交叉验证。常规做法是让测试终端锁频到该小区,读取 SIB2 解码结果,然后和规划表逐字段核对。手工核对容易眼花,建议写成脚本做批量比对:

# 校验 SIB2 规划值与空口解码值是否一致 config_plan = { "prach-ConfigurationIndex": 27, "msg1-FDM": "two", "preambleReceivedTargetPower": -100, "preambleTransMax": "n10", } decoded = { "prach-ConfigurationIndex": 27, "msg1-FDM": "two", "preambleReceivedTargetPower": -100, "preambleTransMax": "n10", } for key, plan_value in config_plan.items(): actual = decoded.get(key) status = "OK" if actual == plan_value else "MISMATCH" print(f"{key}: plan={plan_value} decoded={actual} [{status}]")

这段脚本做的事很朴素:把规划表和解码结果放到两个字典里逐项比对,输出 OK 或 MISMATCH。高级一点的做法是把路测软件导出的一整批小区 SIB2 解码结果灌进来,自动筛出所有和规划不一致的小区。实际使用中,MISMATCH 不一定代表网管配错,也可能是无线环境导致解码字段被网络侧自动降级,比如 CA 或载波聚合场景下部分字段只在特定小区生效,这时候就要回到网管侧查实际生效值。

还有一类问题在验证阶段经常出现:测试终端收到了 SIB2,但解出来的字段数量和网管配置的完全对不上。这通常不是配置问题,而是测试终端没搜到最新版本的系统消息,UE 还在用旧 SIB2 缓存。处理办法是把终端重启或强制做一次小区重选,让它重新走完整读取流程。

5. SIB2 配置避坑:5 个让随机接入翻车的典型问题

5.1 UE 狂发前导,基站却看不到有效 PRACH:循环移位与小区半径不匹配

现象:测试终端在小区边缘反复发送 PRACH,preamble 发送次数快速增长,功率爬升到顶依然接不上;基站侧查看 PRACH 检测统计,有效检出的前导数接近为 0。

原因:zeroCorrelationZoneConfig 配得太小,对应的 Ncs 小于小区边缘往返时延加时延扩展的要求。UE 发出的前导循环移位超出 gNB 的检测窗,gNB 只看到噪声,检测不到有效相关峰。这个问题的隐蔽之处在于上行射频指标完全正常,发射功率、频谱都对,唯独检测端一片空白。

解决:按实际覆盖半径重查 38.211 循环移位表,把 zeroCorrelationZoneConfig 调大。如果调大后前导容量不够,优先改前导格式为长前导,而不是继续压缩循环移位。

5.2 RAR 一直等不到,RF 指标却正常:RO 落到了 BWP 外面

现象:UE 侧能看到 SIB2 解码正常,SSB RSRP 也很好,随机接入已经发出,但 gNB 就是不回 RAR。射频测试结论“发射正常”,问题被一层层向上抛。

原因:msg1-FrequencyStart 加上 RO 占用的 RB 数后,越过了上行 BWP 边界,或者 RO 和 PUCCH/SRS 资源重叠,被调度器静默丢弃。射频指标正常是因为 UE 确实发射了,问题发生在资源格子的“摆放位置”上。

解决:把 BWP 起点、msg1-FrequencyStart、PRACH 带宽三者放在同一张资源图上核对。短前导在 30kHz 子载波间隔下约占 12 个 RB,长前导约 6 个 RB,具体按格式查表。确保 RO 完整落在 BWP 内且不与 PUCCH 资源重叠。

5.3 同频邻区正常,这个小区却“挑手机”:SSB 波束与 RO 映射错位

现象:同一区域两个同频小区,邻区接入正常,本小区部分位置接入失败,且失败位置集中在某个方向范围。换个终端或换个位置,现象又不一样。

原因:ssb-perRACH-Occasion 配置与 SSB 波束数量不匹配。比如 SSB 波束是 8,但 ssb-perRACH-Occasion 配成 four,一部分波束没有独立 RO,多个 SSB 共享 RO 导致前导碰撞概率大增。UE 在某个波束上信号很好,却因为找不到可用 RO 而无法发起随机接入。

解决:统一规划 SSB 波束数和 ssb-perRACH-Occasion 的映射关系。排障时在路测日志里看 MAC 层的 RAR Attempt 次数,如果特定波束方向的尝试次数异常暴增,基本可以坐实映射错位。

5.4 t300 配得太大:成功率全绿,用户时延却悄悄变高

现象:RRC 建立成功率 99% 以上,但业务建立平均时延比邻区高 100~200ms,用户反馈“转圈时间长”。网管指标看不出明显异常。

原因:弱场 UE 的随机接入已经失败但 t300 还没超时,UE 在等待 RRCSetup 的窗口里空等,直到 t300 超时才触发重建立或重新发起。t300 配得越保守,这种“空等”浪费的时间越长。

解决:把 t300 从 1000ms 收窄到 600ms 左右,观察 RRC 建立失败率是否明显抬升。如果失败率平稳,说明等待窗口过大,可以继续收窄;如果失败率抬升,说明部分 UE 确实需要更长等待,回退一档。这个参数调的是“失败率与时延的平衡”,不是越大越好。

5.5 接入慢的锅被甩给 PRACH:其实是 SIB2 周期被调成 640ms

现象:新终端首次接入整体时延偏高 200ms 以上,排查组第一时间检查 PRACH 功率、前导格式、定时器,全都没问题,最后才有人想起看 SIB2 调度周期。

原因:SIB1 里把 SIB2 的调度周期配成了 640ms。UE 从空闲态醒来后需要先读 SIB2 才能发起随机接入,平均等待时间就是半个周期,320ms 的额外时延就是这么来的。这类问题在批量终端唤醒的场景下会被放大到“整体变慢”的程度。

解决:把 SIB2 调度周期改回 160ms,或至少不高于 320ms。这条经验后来成了我的固定流程:任何“接入慢”的问题,第一步永远先查 SIB2 调度周期,而不是 PRACH 参数。

6. 两命令+一张清单:把 SIB2 排查变成固定动作

SIB2 的排查有一张固定清单可以反复用:第一行,SIB1 里 SIB2 的调度周期是否 ≤160ms;第二行,rach-ConfigCommon 是否为 setup;第三行,RO 是否完整落在 BWP 内且不重叠;第四行,zeroCorrelationZoneConfig 是否覆盖小区边缘时延;第五行,SSB 波束数与 ssb-perRACH-Occasion 是否匹配;第六行,preambleReceivedTargetPower 加路损后是否超出 UE 最大发射功率。这六项按序过一遍,能过滤掉绝大多数 SIB2 引发的接入类问题。

配套两条常用命令。一条是抓包后快速看 SIB2 核心字段,另一条是统计 SIB2 调度周期分布:

# 命令一:过滤 SIB2 并输出 RACH 配置与定时器字段 tshark -r nr_attach.pcap -Y "nr-rrc.sib2" -T fields \ -e frame.number \ -e nr-rrc.sib2.rach_ConfigCommon \ -e nr-rrc.sib2.ue_TimersAndConstants # 命令二:从 SIB1 里统计 SIB2 的调度周期出现次数 tshark -r nr_attach.pcap -Y "nr-rrc.sib1" -T fields \ -e nr-rrc.sib1.schedulingInfo | grep -i "sib2" | sort | uniq -c

第一条命令直接输出 SIB2 的 RACH 配置和定时器,用于核对配置;第二条命令统计 SIB1 调度信息里 SIB2 相关条目,快速判断周期是否被改大。两条命令配合前面那张清单,基本能覆盖从“UE 读不到 SIB2”到“UE 读到了但接不上”的完整链路。

我自己的习惯是每次处理完一个 SIB2 相关故障,就把根因记到清单的对应行上。时间长了会发现,绝大多数问题不是某个参数“配错数值”,而是几个参数之间的联动关系没对齐——调度周期和接入时延联动,循环移位和覆盖半径联动,波束数和 RO 映射联动。SIB2 不像高层协议那么复杂,但它把“接入”这个动作的所有前置条件都压缩到了一张广播消息里,牵一发动全身。曾有一次我在 PRACH 功率参数上耗了一整天,最后发现只是 SIB2 周期被调大,从那时起这张清单的第一行就永远是调度周期。希望帮到你。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/22 13:24:58

VERL强化学习损失函数拆解:策略、价值与KL散度计算全解析

1. VERL 的损失函数到底在算什么 做强化学习训练的人,跟损失函数打的交道最多。VERL 这套框架跑起来之后,大家最常问的问题就是:它的损失函数到底怎么算的?很多人把训练脚本跑通了,但是看到 loss 曲线里同时出现好几个…

作者头像 李华
网站建设 2026/10/22 13:24:50

GPS卫星数据仿真全流程解析:从广播星历到RINEX文件

简介:一篇围绕GPS卫星观测数据仿真的学术论文PDF,原载《北京测绘》2018年第32卷第6期,作者崔立鲁、熊旭等人从卫星数据特性出发,系统阐述GPS观测数据仿真的基本原理,面向GNSS导航定位、系统开发与算法验证领域的研究人…

作者头像 李华
网站建设 2026/10/22 13:22:55

5G SA网优案例:上行CCE分配失败导致无线接通率劣化分析与优化

简介:这份资源是一份面向5G网络优化工程师与运维人员的实战案例文档,聚焦SA网络上行CCE分配失败导致无线接通率劣化的排查与解决过程。内容从RRC建立成功率、QoS Flow建立成功率与上行CCE分配失败比例的一致性入手,结合节能功能核查、CCE参数…

作者头像 李华
网站建设 2026/10/22 13:22:33

基于SpringBoot+Vue+MyBatis+MySQL的前后端分离小区管理系统设计与部署

小区物业的管理场景,这些年我接触了不少。从最早的手工台账,到后来的单机版Excel登记,再到真正意义上能支撑日常运转的信息化系统,中间的距离其实比很多人想象的要大。最近整理了一套完整的“前后端分离综合小区管理系统”源码和部…

作者头像 李华
网站建设 2026/10/22 13:22:19

模板代码跨平台适配实战:从路径换行到编码的避坑指南

做模板代码跨平台适配,说起来好像很简单,真正动手之后才知道这里面的水有多深。我最早接触这块,是因为一个脚手架项目:生成的代码在macOS上跑得安安稳稳,同事在Windows上一运行直接报错,路径不对、换行符乱…

作者头像 李华
网站建设 2026/10/22 13:22:14

OCR+视觉大模型+四点定位:医疗单据脱敏的工程实践

1. 为什么医疗单据脱敏不能靠现成的“打码滤镜”直接搞定 1.1 一个看似简单,实际翻车的场景:拍照单据 我接手过一个医疗单据批量归档项目,甲方最初的需求很轻描淡写:“把单据上的姓名、身份证号、手机号、家庭住址打码就行。”我…

作者头像 李华