news 2026/9/18 14:45:58

5G NR小区搜索与SIB1探测全流程解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5G NR小区搜索与SIB1探测全流程解析

简介:面向5G网络优化工程师及通信技术人员,这份文档系统讲解5G(NR)终端开机后的小区搜索与SIB1探测完整流程,属于5G网络优化方向的实用技术资料。压缩包仅包含1个docx文档,大小15KB,内容精炼且直击要点。文档依据3GPP TS 38.300规范,将小区搜索分解为频率调谐、PSS/SSS检测、PBCH解码、MIB读取、搜索空间配置、DCI盲检、PDSCH解码及SIB1解析等关键步骤,并重点阐释SSB探测如何合并同步检测与PBCH解码以提升搜索效率。通过研读该文档,读者可清晰理解终端接入网络的信令机制,掌握排查小区接入异常与优化网络参数的思路,适合从事5G网络规划、优化及故障处理的工程师参考学习。目前该资源已有375人学习下载。

1. 5G(NR)网络中终端小区搜索和SIB1探测:从空口盲检到RMSI解析的完整链路

5G(NR)的终端在开机、重选或切换时,第一件事不是在某个固定的频点上直接读系统消息,而是在同步栅格上盲检SSB,再沿着SSB携带的MIB参数一路找到SIB1。这段从PSS/SSS相关检测到SIB1解码的过程,本质上是终端和基站之间“先握手、再交换地址簿”的信令契约。很多人在外场测试时只盯着RSRP和SINR,却忽略了SSB与RMSI映射关系、CORESET#0参数集、Type0-PDCCH搜索空间周期这些底层细节——一旦SIB1解不出来,后续的PRACH、RRC建立全部无从谈起。这篇文章面向协议开发、网优和测试工程师,把小区搜索各阶段的理论依据和可落地的排查命令整理清楚,尽量做到能对着空口log逐段验证。

2. 5G(NR)小区搜索第一步:SSB结构、PSS/SSS序列与定时关系

2.1 为什么NR把同步信号设计成SSB突发集

LTE时代同步信号和PBCH是分散映射在整个带宽上的,而NR为了适配波束扫描和多种子载波间隔,设计了SSB(SS/PBCH block)这种紧凑结构。一个SSB在时域上占据4个OFDM符号,在频域上占据240个子载波(20个PRB),其中PSS占符号0中间的127个子载波,SSS占符号2中间的127个子载波,PBCH和它的DMRS则分布在符号1和符号3的整个20个PRB上。

SSB在一个半帧内可以重复发送多次,形成SSB突发集。对于15kHz子载波间隔,一个突发集最多包含8个SSB;对于30kHz,同样最多8个;对于120kHz和240kHz,最多64个。这个“一次发多个”的设计不是冗余——它是为了匹配基站的模拟波束扫描,每个SSB对应一个下行发送波束方向,终端通过测量不同SSB索引来选择最好的波束。因此,小区搜索的第一步实质上是:终端在预定义的同步栅格上,先找到PSS的时频位置,再完成符号定时、频率粗同步、PCI部分检测。

2.1.1 SSB频域位置:同步栅格和Global同步信道号

终端不可能在每一个频点上盲搜,3GPP定义了同步栅格(synchronization raster),步长和频段有关。在FR1频段,同步栅格的步长通常为1200kHz,对应的GSCN(Global Synchronization Channel Number)按频段不同有专门的计算公式。例如在n78频段,GSCN的计算涉及OffsetToPointA和kSSB的换算关系。外场测试中出现小区搜索失败,很多时候不是信号强度不够,而是终端在绝对射频信道号(NR-ARFCN)上搜索,而基站实际配置的SSB落在相邻的同步栅格上,两者偏差超过终端接收机的搜索窗。

2.1.2 PSS和SSS的两级PCI检测

PSS采用的是长度为127的m序列,根据不同的循环移位值,分别对应N_ID^2的0、1、2三种取值。终端通过本地相关运算找到PSS后,就确定了符号定时和频域起始位置,同时得到PCI的模3部分。SSS同样用127长度的m序列,但由两个m序列的乘积构成,携带N_ID^1的0到335取值。

# 简化的PCI检测流程,用于理解PSS/SSS解调顺序 import numpy as np # 假设received_signal是时域接收信号,ssb_symbols是解调出的SSB符号 def detect_pci(pss_corr, sss_corr): # pss_corr: 与3个PSS序列相关后的峰值位置和强度 n_id_2 = np.argmax(pss_corr) # 取值0/1/2,决定PSS序列 n_id_1 = np.argmax(sss_corr) # 取值0~335,决定SSS序列 pci = n_id_1 * 3 + n_id_2 # 物理小区标识 return pci # 说明: # PSS相关只需要做3次,运算量很小;SSS相关需要做336次,但因为已经确定了符号位置, # 只需要在一个OFDM符号内做频域相关。PCI计算完成后,终端才知道用哪个序列去解PBCH的DMRS。

这套两级检测的价值在于:PSS检测的计算量从3*N降到一次相关运算,让终端在FeMBB场景下能快速找到候选小区。实际芯片实现还会做多小区并行检测,在同一时刻处理多个SSB突发的峰值,但这种并行不改变PCI检测的顺序逻辑。

2.2 SSB定时和半帧边界的确定

终端在子帧0和子帧5组成的半帧内搜索SSB。但SSB不一定从子帧0的最开始发送,它的起始符号位置由ssb-PositionsInBurst这个SIB1参数决定。在初始小区搜索阶段,终端还没有读到SIB1,所以它假设SSB突发集内每个SSB的候选位置遵循默认映射表。

对15kHz子载波间隔,SSB候选位置在符号2、符号8;对30kHz子载波间隔,候选位置可能是符号4、8、16、20等。终端搜索一遍所有候选位置后,通过PBCH的DMRS序列来确认具体是哪一个SSB索引——DMRS序列携带了SSB索引的低位比特,而PBCH的净荷则携带SSB索引的高位比特。注意到这个细节很重要:在非独立组网或SA组网里,如果SSB突发集配置为10ms周期,但终端默认假设20ms周期检测,那么解PBCH的速率匹配位置就会错位,导致解码失败。

2.2.1 子载波间隔和SSB周期的相互约束

SSB的子载波间隔在FR1频段通常为15kHz或30kHz,它决定了OFDM符号长度和CP长度。如果基站配置的SSB子载波间隔和终端在频点搜索时假设的不同,终端可能根本检测不到PSS。NR协议规定:SSB的子载波间隔和SIB1的子载波间隔可以不同,但两者必须从同一个集合中选择。例如SSB用30kHz,RMSI也用30kHz;SSB用30kHz,RMSI也可以用15kHz,但此时CORESET#0的RB数量、符号数量都要按不同表项选择,这在后续SIB1调度中会专门讨论。

3. PBCH解码和MIB获取:从DMRS序列到RMSI配置参数的映射

3.1 PBCH的物理资源映射和加扰规则

PBCH占SSB内除PSS/SSS之外的所有资源,即符号1和符号3的20个PRB,加上符号2中SSS两侧的48个子载波。PBCH的调制方式是QPSK,总资源单元数为:20PRB * 12子载波 * 2符号 + 48个子载波 - DMRS开销,最终每个SSB的PBCH可以携带32个比特的BCH传输块,经过CRC加扰和极化编码后映射到资源单元。

加扰序列初始化和LTE有很大不同,它的初始化种子依赖物理小区标识PCI和SSB索引的时隙号。这意味着如果PCI估计错误,即使DMRS相关运算通过,PBCH解调后CRC也大概率校验失败。这也是在外场log中区分“SSB检测成功但PBCH失败”和“PBCH成功但SIB1失败”的重要边界。

3.1.1 用DMRS区分不同SSB的加扰序列
# PBCH DMRS序列生成的伪代码,用于理解不同SSB索引的区分原理 def generate_pbch_dmrs(pci, ssb_index, n_cp=0): # 初始化伪随机序列的种子 # 公式参考38.211 7.4.1.3.1,这里简化为示意 c_init = 2**11 * (ssb_index + 1) * (pci // 4 + 1) + 2**6 * (ssb_index + 1) + pci % 4 dmrs_seq = generate_gold_sequence(c_init, length=144) return dmrs_seq # 参数说明: # pci: 已经通过PSS/SSS检测得到的物理小区标识 # ssb_index: 当前检测的SSB在突发集内的编号,取值0~63 # n_cp: 循环前缀类型,FR1通常为0,即普通CP # 终端在相关检测PBCH DMRS时,会遍历所有ssb_index假设,取相关峰值最大者, # 由此得到SSB索引的低位信息,再和PBCH净荷中的高位索引拼接完整值。

3.2 MIB的比特字段梳理

PBCH解码成功后得到的BCH传输块即MIB,共23比特有效载荷加8比特CRC。MIB内的关键字段包括:

systemFrameNumber占6比特,是SFN的高6位,加上PBCH隐式携带的SFN低4位(通过加扰序列的循环移位变化体现),组成了10比特完整SFN,范围0到1023。subCarrierSpacingCommon占1比特,指示SIB1采用的子载波间隔,15kHz或30kHz(FR1)。ssb-SubcarrierOffset占4比特,指示SSB和PRB网格之间的频域偏移kSSB,取值范围0到15。pdcch-ConfigSIB1占8比特,其中前4比特指示CORESET#0的配置索引,后4比特指示Type0-PDCCH搜索空间的配置索引。这两个4比特组合指向38.213表13-1到13-10中的具体行,确定了SIB1调度的时频资源。

3.2.1 kSSB的工程意义和常见配置

kSSB在协议里的含义是SSB最低子载波到PRB0最低子载波之间的偏移,单位是子载波。但它不是简单一个绝对位置值——在38.211中,它用于确定SSB和Point A(公共资源块0的中心)的关系。实际外场配置中,SSB子载波间隔和RMSI子载波间隔一致时,kSSB取值为0到11;如果SSB用30kHz而RMSI用15kHz,kSSB取值范围扩展到0到23,因为频率粒度变细了。一个经常踩的坑是:如果kSSB配置过大,导致SSB的频域位置和CORESET#0重叠,终端在检测完PBCH后尝试盲检RMSI PDCCH会遇到干扰,表现为“MIB解出来了但PDCCH一直盲检失败”。

3.3 从MIB到Type0-PDCCH的带宽和周期推导

MIB中的pdcch-ConfigSIB1是本阶段输出的核心结果。它让终端在完全不知道SIB1任何先验信息的情况下,算出RMSI-PDCCH的监听时机。具体来说:

CORESET#0的带宽只能是24、48、96个RB(15kHz SCS下)或24、48、96个RB(30kHz SCS下),但不同配置索引还组合了不同的符号长度(1到3个符号)和偏移量(RB级偏移)。Type0-PDCCH搜索空间则定义了PDCCH监听的起始符号、持续符号数和周期,周期通常是1、2、4、5、8、10、20个时隙。这些组合全部汇总在38.213的表13-1到13-6中,不同频段适用的表不同。

为了把这个过程量化,下面给出一个简化的查表逻辑例子:

# 根据MIB中的pdcch-ConfigSIB1确定RMSI PDCCH监听时机 def get_rmsi_pdcch_config(pdcch_config_sib1, is_fr2=False): # 高4bit是CORESET#0索引,低4bit是搜索空间索引 coreset_zero_index = (pdcch_config_sib1 >> 4) & 0xF search_space_index = pdcch_config_sib1 & 0xF # 以FR1 15kHz SCS为例,引用38.213表13-1和13-3 coreset_zero_mapping = { 0: {'sym': 1, 'nrb': 24, 'offset': 0}, 1: {'sym': 1, 'nrb': 24, 'offset': 2}, 2: {'sym': 1, 'nrb': 24, 'offset': 4}, 5: {'sym': 2, 'nrb': 48, 'offset': 2}, 8: {'sym': 3, 'nrb': 96, 'offset': 0}, } search_space_mapping = { 0: {'period': 1, 'offset': 0, 'duration': 1, 'start_sym': 0}, 1: {'period': 2, 'offset': 0, 'duration': 1, 'start_sym': 0}, 6: {'period': 5, 'offset': 0, 'duration': 1, 'start_sym': 0}, 12: {'period': 10, 'offset': 0, 'duration': 1, 'start_sym': 0}, } coreset = coreset_zero_mapping.get(coreset_zero_index) ss = search_space_mapping.get(search_space_index) return coreset, ss

代码里的索引值只列出了少量示例,完整实现必须以3GPP 38.213的表格为准。这里的重点是理解:不同索引组合对应不同的RMSI覆盖能力和时延。CORESET#0的RB数越多,PDCCH容纳的CCE越多,SIB1的DCI 1_0调度就越不容易阻塞;但搜索空间周期越长,终端的平均接入时延越大。实际网络配置中常见的选择是coreset_zero_index=5search_space_index=0,兼顾覆盖和接入速度。

4. SIB1探测的完整过程:RMSI搜索、DCI调度与PDSCH接收

4.1 从MIB参数到RMSI PDCCH监听的具体流程

SIB1在NR中被称为RMSI(Remaining Minimum System Information),它本身不固定映射在某个PRB上,而是由Type0-PDCCH上的DCI 1_0动态调度。终端在译码MIB后立即进入RMSI监听状态。监听的具体时机由search_space_index确定,包括周期的时隙粒度以及每个周期内的起始符号。以FR1 15kHz SCS为例,如果搜索空间配置是周期2个时隙,偏移0个时隙,持续1个时隙,起始符号0,那么终端需要在每个偶数时隙的符号0开始的CORESET#0内做PDCCH盲检。

PDCCH盲检的搜索空间类型是Type0公共搜索空间,DCI格式是1_0,其CRC用SI-RNTI加扰。SI-RNTI的值为固定的0xFFFF。终端需要用这个RNTI去解扰所有候选PDCCH,如果CRC校验通过,就读取DCI 1_0中的频域资源分配字段、调制编码方案字段、时域资源分配字段,才能最终确定PDSCH的位置和传输参数。

4.1.1 DCI 1_0中与SIB1接收强相关的字段

DCI 1_0用于调度SIB1时,频域资源分配用一个Resource Allocation Type 1的位图表达,其比特数取决于CORESET#0的RB数;调制编码方案字段通常对应QPSK、16QAM、64QAM等;时域资源分配通过查38.214表5.1.2.1.1-1确定PDSCH的起始符号和持续时间;此外还有TB scaling字段,用于调整传输块大小的缩放因子。在SIB1的DCI中,有些字段被改成固定值——比如HARQ进程号固定为0,NDI固定为0,RV固定为0——因为这些信息对SIB1广播没有意义,保留这些字段是为了保持DCI长度稳定,避免增加盲检次数。

4.1.2 SIB1的时域周期和重复窗口

SIB1的调度周期固定为160ms,用户可以在si-WindowLength内重复接收。协议规定在一个SI窗口内,SIB1的PDSCH可以在任意时隙出现多次。实际配置中,si-WindowLength的取值范围从5ms到20ms。在窗口内,终端会持续监听Type0-PDCCH。一次DCI调度成功后,终端会在对应的PDSCH资源上解调传输块,然后校验CRC。如果CRC失败,可以继续在窗口剩余时间内尝试下一次调度。这个机制允许SIB1在没有HARQ重传的情况下获得时域分集增益。

下表列出了SIB1调度相关的关键参数:

参数取值/范围对终端行为的影响
si-WindowLength5/10/15/20 ms窗口越大,终端有更多盲检机会,但待机功耗升高
SIB1周期160 ms固定值,决定小区搜索的最长等待时间
SI-RNTI0xFFFF公共RNTI,所有终端共享
重复次数无显式配置,依赖窗口内多次DCI调度由基站调度策略决定
TB缩放1/0.5等影响最终传输块大小,接收端需要同步处理

4.2 SIB1 PDSCH的DMRS和速率匹配细节

终端从DCI里拿到PDSCH时频资源后,还要处理PDSCH的DMRS图案和速率匹配。SIB1使用映射类型A的PDSCH,DMRS位置由dmrs-TypeA-Position决定——但该参数在SIB1中广播,终端没有读到它之前,需要采用一个默认假设。根据38.214,在初始接入阶段终端假设dmrs-TypeA-Position等于2,这个值与第一个DMRS符号位于第3个OFDM符号(索引2)的事实对应。

SIB1的PDSCH还会做速率匹配,避让SSB占用的资源元素。具体如何避让,由SIB1中的ssb-PositionsInBurstrateMatchPatternToAddModList决定。终端在实际进行PDSCH解映射时,需要把SSB所占的4个符号、240个子载波资源从SIB1的PDSCH资源中抠掉,再进行解调。这里有个经典问题:如果kSSB配置导致SSB和PDSCH的频域位置重叠,PDSCH的可用RE数会比终端预估的少,初期的SIB1解码就会因误码率过高而失败。

4.3 初始接入阶段SIB1盲检的完整流程示例

# 以下是一个基于空口日志的SIB1接收流程检查清单 # 假设使用协议分析工具导出的信令消息 1. SSB检测阶段 - 检查日志中记录的GSCN和NR-ARFCN,确认是否在同步栅格上 - 查看检测到的PCI和本小区规划是否一致 - 记录SSB索引号和对应的RSRP,确认波束扫描完整性 2. PBCH解码阶段 - 查看MIB消息中的pdcch-ConfigSIB1值,例如0x3A - 解析高4bit(3)和低4bit(10),分别查CORESET#0和搜索空间配置 - 检查kSSB字段,确认小于子载波间隔比值对应的门限 3. RMSI PDCCH监听 - 按搜索空间配置确定PDCCH监听时机 - 记录DCI 1_0的SI-RNTI解扰是否成功 - 如果连续4个周期盲检失败,检查CORESET#0的频域偏移 4. SIB1 PDSCH解码 - 根据DCI的时域资源分配字段确定PDSCH起始符号 - 检查无线承载的误码率目标是否达到BLER阈值 - 确认SIB1解码成功,获取小区接入参数

4.4 CORESET#0配置和SIB1子载波间隔的组合选择

MIB中的subCarrierSpacingCommon不仅告诉终端SIB1 PDSCH用多少子载波间隔,还影响CORESET#0的映射表选择。当SSB和RMSI使用相同子载波间隔时,CORESET#0的最小频域偏移是0个RB,最大可配置到38个RB偏移;当不同时,偏移以RMSI的SCS为粒度表示,取值范围变大。在NSA组网或高层楼宇覆盖场景下,如果SSB用15kHz、RMSI用30kHz,那么CORESET#0的27个RB带宽在频域上的实际物理宽度会缩小一半,导致PDCCH覆盖变差。外场做过波束管理的工程师通常建议:SSB和RMSI的子载波间隔尽可能保持一致,除非频段政策或双载波配置强制要求拆分。

PRACH时频资源也由SIB1携带。

5.2.1 RACH配置参数如何影响小区搜索阶段的终端行为

SIB1中的rach-ConfigCommon包含prach-ConfigurationIndexmsg1-FDMmsg1-FrequencyStartprach-RootSequenceIndex等字段。其中prach-ConfigurationIndex决定了PRACH前导格式、时域起点和周期;msg1-FDM决定频分复用的PRACH机会数量;prach-RootSequenceIndex对应前导序列的根序列索引。外场常见的“能解SIB1但随机接入失败”问题,有相当比例是PRACH的时频位置和SSB关联没有配对。

5.2.2 从SIB1中preamble格式看小区覆盖半径

PRACH前导格式的长度直接决定小区覆盖半径:格式0的序列长度是839个子载波,子载波间隔1.25kHz,最多支持约14km覆盖;格式A1/A2/A3使用短序列,支持更大的子载波间隔和波束对应,但覆盖半径显著缩小。SIB1里通过prach-ConfigurationIndex隐式指定了前导格式。在5G覆盖规划和“5G全网排障”场景中,如果发现某小区SIB1解码正常但前导检测不到,首先检查这个格式和实际小区半径是否匹配。极端场景下,前导格式CP长度不足,远端终端的PRACH到达基站后会落在上一个子帧的窗口里,导致基站侧误检。SIB1中还包含preambleReceivedTargetPower,用于指导终端的PRACH发射功率,如果在远点反复做功率爬升但始终无响应,除了路损因素,还要怀疑Msg1频域位置是否越过了实际带宽边界。

5.3 T304定时器和SIB1探测的关联

T304是切换场景下的专用定时器,SIB1探测本身并不读写T304,但T304的启动和停止可以当作SIB1接收成功与否的辅助判断。终端收到切换命令后启动T304,在目标小区执行完整的SSB小区搜索和SIB1(或专用RRC重配置消息中的等效配置)接收。如果目标小区的SIB1无法解码,T304会一直运行到超时,随后终端判定切换失败并触发RRC重建。

SIB1中不直接携带T304配置,它来自源基站的RRC重配置消息。但排障时要把这两个维度放在一起:一个切换请求下发后,源基站侧看切换准备成功,目标基站侧看随机接入迟迟不来——问题大概率出在目标小区的SIB1或CORESET#0配置无法被该终端正确解析。

6. 实战技巧:用最小配置验证SIB1探测链路和常见异常定位

6.1 用仿真平台跑通SSB到SIB1的全链路

在没有商用基站的环境下,可以用Matlab 5G Toolbox或srsRAN快速验证SIB1探测流程。这里给出一个基于srsRAN小区搜索模块的思路:

# 使用srsRAN的nr_cell_search工具(假设已编译安装) # 采集一段包含SSB和SIB1的IQ数据,文件格式为float32 ./nr_cell_search -f 3.52e9 -s 30e3 -a 50 --ssb-period 20 \ --rx-gain 60 -i rmsi_iq.float32 # 参数说明: # -f 3.52e9: 搜索的中心频率,对应真实NR工作频点 # -s 30e3: SSB子载波间隔,这里按30kHz设定 # -a 50: 天线端口索引 # --ssb-period 20: SSB突发集周期,20ms是FR1常见配置 # -i: 输入IQ文件 # 如果上述命令能够输出MIB解码成功和SIB1的RMSI相关信息, # 说明5G(NR)小区搜索的接收链路在物理层实现层面完整可用。

在工程实践里,我更倾向于用信道仿真器叠加多径和频偏,验证终端在极端条件下的SIB1探测能力。仿真器可以用Keysight或R&S的信号源,配合Matlab生成SSB和全部SIB1参数,并人为引入频率偏移和相位噪声,观察终端在多大频偏下SIB1解码开始恶化。NR的同步要求终端在初始小区搜索时容忍±5ppm的晶振误差,在毫米波频段这对应几十kHz的绝对频偏,因此SIB1探测前的整数倍频偏估计和PBCH符号级定时对齐是后端性能的分水岭。

6.2 三个最值得优先排查的SIB1失败线索

第一条线索是检查kSSB和RMSI子载波间隔组合。SIB1探测失败的log中,如果MIB解码成功但PDCCH盲检持续失败,先去对比ssb-SubcarrierOffsetsubCarrierSpacingCommon。当SSB SCS大于RMSI SCS时,kSSB的粒度变小,一个很小的配置偏差在频域上会被放大,导致终端监听CORESET#0时实际资源和预期完全错开。

第二条线索是核对CORESET#0的带宽和CCE聚合度。默认搜索空间中PDCCH候选集的CCE聚合等级为4和8,在低信噪比区域,如果CORESET#0只有24个RB、1个符号,那么可用的CCE数量非常有限,SI-RNTI的DCI可能被其他公共信令挤占。遇到这种情况,最常见的优化手段是把pdcch-ConfigSIB1调整到更大带宽的CORESET#0配置,例如从24RB调整为48RB。

第三条线索是验证SSB周期和突发集内SSB个数。终端在初始接入时按20ms周期搜索SSB,如果基站配置的是5ms周期,终端依然能搜到,只是时间提前量计算可能不同。但如果实际SSB个数超过终端在FR1最大支持的数量,后发的SSB索引会超出预期范围,PBCH的DMRS相关值出现多个相近峰值,导致选错SSB索引,进而解错SIB1的速率匹配图样。检查信号分析仪上SSB突发集内主同步信号的相对功率,可以快速确认是否存在相邻SSB索引的互扰。

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

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

多语言SEO优化:专业翻译如何提升327%搜索可见性

1. 研究背景与核心发现最近一份来自国际权威SEO研究机构的报告显示,在多语言网站优化中,专业翻译服务能够带来平均327%的SEO可见性提升。这个数字让不少从业者感到惊讶——我们通常认为内容质量和外链建设才是SEO的核心,但数据证明&#xff0…

作者头像 李华
网站建设 2026/9/18 14:40:28

OpenClaw 部署时把百炼 Key 换成 TaoToken,企业微信自动回复照常

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/18 14:39:55

OpenHands Docker 部署,Base URL 填 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/18 14:39:50

二阶高通滤波器课程设计:Sallen-Key参数与仿真实测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/18 14:39:49

RK3588 NPU 0.9.8升级:固件/驱动/Runtime协同对齐指南

1. 为什么RK3588的NPU内核升级到0.9.8不是“打个补丁”那么简单香橙派5B搭载RK3588芯片,很多人第一反应是“这板子能跑AI模型”,但真正动手部署RKLLM这类多模态推理框架时,才发现卡在第一步:NPU驱动不认模型、量化参数报错、甚至根…

作者头像 李华