GLONASS信号处理全流程解析:从FDMA捕获到多星座融合定位
2. GLONASS信号处理流程总结做卫星导航接收机这几年我前后在GPS、北斗、Galileo上花了不少时间最后真正让我卡壳的却是GLONASS。原因很简单它跟其他系统不一样用的是频分多址FDMA而不是码分多址CDMA。一套链路处理下来从射频采样到捕获跟踪再到星历解释和导航解算几乎每个环节都要重新想一遍。这篇文章把我在实际项目中跑通的GLONASS信号处理流程从头到尾复盘一遍重点不是带你背公式而是把工程上真正会踩的坑、需要拍板的地方讲清楚。你如果也在做多模接收机或者刚接触L1频段GLONASS信号处理这篇文章应该能帮你省下两三个月的调试时间。处理链路的总框架是射频前端采样→数字下变频→捕获频率通道码相位多普勒三维搜索→跟踪载波环码环→位同步/帧同步→导航电文解析→星历拟合→伪距测量→时间坐标对齐→导航解算。接下来逐段展开。3. 信号体制认知FDMA是整条链路的出发点3.1 频分多址与CDMA系统的本质差异GPS、北斗、Galileo都是CDMA体制所有卫星复用同一个载波频率靠不同的扩频码区分卫星。这样做的好处是接收机前端带宽窄、处理结构统一。GLONASS偏偏走另一条路每颗卫星占一个独立的载波频率靠频率来区分。以L1频段为例GLONASS的第K颗卫星载波频率是f_L1 1602 MHz K × 0.5625 MHzK的取值范围是-7到6。也就是说如果你要同时接收全部卫星信号接收机射频前端得覆盖大约1602MHz ± 4MHz的带宽。这比GPS L1 C/A码信号常见的2MHz中频带宽要大得多。这个差异直接影响了几个工程决策采样率要够高否则高频段卫星信号会被混叠吃掉数字下变频不能只做一次要针对每个K值单独搬移频率捕获阶段必须先确定“频率通道”再在这个通道内搜索码相位和多普勒码环跟踪时不同频率通道的码率完全一样但是载波频率不同这会在多普勒计算、频间偏差校准上带来麻烦。一句话总结GLONASS是“频率轴上的复用”所以你的接收机信号处理每一级都要把“通道频率”当成一个显式的维度来对待这跟GPS处理器的设计思路完全不同。3.2 信号参数速查与整体流程视角我把调试过程中最常用的GLONASS L1信号参数整理成了一张表方便你查参数项数值备注载波频率1602MHz K×0.5625MHzK -7~6码速率0.511 Mchip/s是GPS C/A码的一半码长511位周期1ms码片宽度约586.7m码相位测量精度略低于GPS导航电文速率50 bps曼彻斯特编码数据位宽20ms/bit需在跟踪阶段做位同步电文串长2秒含0.3秒时间标记每帧15串每超帧5帧星历更新方式30分钟一组位置/速度/加速度用切比雪夫多项式拟合时间系统GLONASS时间与UTC(SU)差3小时有闰秒坐标系统PZ-90.11与WGS-84存在厘米级差异从处理流程上看GLONASS与GPS的最大区别集中在三个节点捕获前的频率通道管理、星历拟合方式、时间坐标系统对齐。跟踪环节的环路架构反而大差不差只是参数初值要按0.511Mchip/s来设。4. 射频采样与数字下变频先保住频域完整性4.1 采样率与中频方案怎么选GLONASS信号处理器最容易在射频采样这一级埋下隐患。我见过不少同学用GPS接收机的参数直接套GLONASS采样率定了个2.048MHz结果L1高K值卫星信号被混叠进带内怎么调捕获阈值都找不到卫星。如果你的目标机型只需要接收某几颗GLONASS卫星比如只处理K-7到K0这8个频点那射频带宽可以缩到约5MHz采样率用10MHz以上基本够。但如果要做全星座接收前端带宽至少要覆盖约8MHz工程上推荐直接按10MHz左右设计通带采样率不能低于20MHz。我们在实际项目中的做法是先用宽带采样比如25MHz采样率、中频4MHz然后在数字域通过混频NCO把每个K值通道分别搬到基带。这样做的好处是前端硬件可以复用不同频点的通道处理只在软件里配置NCO频率即可。4.2 数字下变频的通道管理数字下变频的关键点在于NCO频率必须对准每颗卫星的载波频率同时要把接收机本振偏移估计进去。比如你现在接收K3的卫星标称载频是1603.6875MHz接收机本振是1600MHz混频后中频是3.6875MHz那么在数字域你需要把频率3.6875MHz搬移到基带。如果本振实际有晶振误差比如±0.5ppm也就是约0.8kHz的误差这个偏移会在捕获阶段和残余多普勒混在一起。我的建议是数字下变频部分预留一个补偿通道用后续跟踪环的载波频率估计值反馈来修正NCO频率。很多成熟的软件接收机就是这么做的捕获后跟踪环路会自动补偿固定频偏但这要求你在捕获阶段的多普勒搜索范围里把晶振误差余量一并算进去。5. 捕获阶段三维搜索的设计与实现5.1 搜索空间的构成与计算量GLONASS的捕获搜索空间是三维的频率通道K每个K值一个通道实际是15个离散频点码相位0~510共511个chip多普勒频率一般覆盖±5kHz到±8kHz。相比GPSGLONASS捕获多了一个维度。为了降低计算量工程上常用的办法是把“频率通道”的处理放在最外层循环对每一个K值通道分别做二维搜索。举个例子你的搜索多普勒范围设为-5kHz到5kHz步长500Hz那就是21个多普勒档位码相位511个点再加15个K值通道。如果用串行相关的方式每个卫星的运算量就是21×51110731次相关运算15颗卫星全做完约16万次相关。听起来不多但如果用纯软件做实时处理配合后面的FFT并行计算负担也不算小。5.2 并行码相位搜索的可行方案我推荐的做法是基于FFT的并行码相位搜索。流程是这样的对某个K值通道输入信号做数字下变频得到零中频复数信号按1ms数据块做FFT变换把本地GLONASS码对应这个K值通道的卫星编号的FFT结果取共轭后相乘再做逆FFT得到所有码相位的相关值在不同多普勒档位重复这个处理找出峰值。需要注意的是GLONASS码率只有0.511Mchip/s1ms周期内只有511个码片做FFT的点数用1024就够了比GPS的2048还少一半计算量反而小。但代价是码片宽度更宽多普勒频率对相关峰的影响更明显所以在多普勒步长上你要适当加密建议用250Hz而不是500Hz。我当时踩过的坑是直接拿GPS的捕获模块改参数FFT点数改成1024之后发现多普勒步长500Hz时峰值衰减严重部分卫星始终无法可靠检测。后来把步长缩到250Hz问题立刻缓解。5.3 捕获门限的设置与确认捕获门限的选取直接决定了误警率和漏检率的平衡。常用的做法是取1ms相干积分10次非相干积分然后计算峰值与噪声均值的比值超过门限就认为捕获成功。对于GLONASS因为每个频点实际只对应一颗卫星通道之间的干扰比GPS要小门限可以稍微放宽一些。但要注意一个问题如果在前端滤波时相邻频点有泄露可能会出现多个K值通道同时出现超过门限的伪峰。此时需要增加一个确认步骤比如在捕获后拉长到5ms非相干积分再做一次判决或者对比相邻K值通道峰值的高度差来做排除。6. 跟踪环路载波环与码环的联动调试6.1 环路参数初值怎么给信号捕获成功后进入跟踪阶段。GLONASS的跟踪环路跟GPS基本一样一个载波环加一个码环但是初值要按GLONASS的参数来设码环码率0.511Mchip/s码长511相关器间隔通常取0.1~0.2码片环路带宽1~2Hz载波环带宽15~25Hz如果使用锁频环锁相环的辅助结构FLL带宽可以更宽积分时间1ms但不能直接跨20ms数据位做相干积分。在工程实现上我们的做法是先锁定FLL等频率稳定后再切换到PLL。这个策略对GLONASS尤其重要因为FDMA通道之间的频率不一致接收机晶振误差对每个通道载波的相对影响是相同的ppm但绝对频偏不同直接上PLL很容易在切换瞬间失锁。6.2 曼彻斯特编码对跟踪的干扰GLONASS导航电文采用曼彻斯特编码数据位宽20ms每一位内有一个0和1的跳变。这意味着如果你尝试做20ms的相干积分跨过比特边界时能量会相互抵消相关峰被拉平。这点跟GPS不同GPS虽然也有数据位宽20ms的问题但数据本身不是曼彻斯特码比特内部没有义务跳变。解决办法是相干积分长度限制在10ms以内或者做比特边沿对齐后再积分。更稳妥的做法是在跟踪阶段先做位同步确定比特边界然后对比特边界内的两个10ms半码片分别积分。我在自己的接收机里就是这么做的实测稳定。6.3 位同步与帧同步的细节GLONASS的位同步跟GPS类似但有个额外线索每串电文的开头有一个0.3秒的时间标记序列。这个时间标记本身是固定图案可以作为串同步的辅助信号。帧同步利用每串电文第1~8比特的串号和校验关系。每串数据最后有8比特的KX校验码跟GPS的奇偶校验类似。我在解析时发现如果只靠串号做同步偶尔会因为误码出现虚同步加上校验码验证之后虚同步基本能被滤掉。帧同步完成之后就可以从电文的固定位置提取时间信息。这里要特别注意GLONASS电文的时间标记给出的是GLONASS时间秒而不是UTC秒后续解算时要用参数里的闰秒值做换算。7. 导航电文解析与星历拟合7.1 电文的帧格式与解析顺序GLONASS导航电文的层次是串2秒→ 帧15串30秒→ 超帧5帧2.5分钟。每个串的组成大致是0.3秒时间标记供同步和测距、1.7秒数据位85比特含KX校验。一帧15串里第1~4串是当前卫星的星历数据第5串是时间参数第6~15串是其他卫星的历书或星历。我在做解析模块时先做了一个数据帧缓存区按串号把收到的串填入对应的帧和超帧位置然后只对填满的帧做CRC校验错误帧直接丢弃等下一帧。这个策略在弱信号场景下特别有效比逐串解析容错率高很多。7.2 星历拟合切比雪夫多项式还是数值积分GLONASS广播星历给出的是卫星在参考时刻的位置、速度、加速度以及太阳和月亮的摄动参数。拿到这组数据后你需要获得卫星任意时刻的位置。大多数开源实现采用切比雪夫多项式拟合在24小时区间内对三维坐标分别做多项式逼近。阶数通常取8~10拟合时段的边界处误差略大所以一般会多留5分钟余量。我个人的做法是直接用数值积分用龙格-库塔法对卫星运动方程做积分。好处是不用管理拟合的边界效应缺点是运算量稍大。在自研处理器上用定点实现时我反而推荐切比雪夫法因为它可以预先算好系数实时解析时只需要做多项式求值计算量固定且可控。这里有个小细节GLONASS星历拟合的参考坐标系是PZ-90不是WGS-84。所以拟合之前要根据最新的坐标转换参数把位置和速度转到WGS-84否则定位结果会有一到几米的系统性偏差。8. 伪距测量与导航解算补偿项一个都别漏8.1 伪距基本公式与误差项伪距测量的基本公式跟GPS一致ρ (t_r - t_t) × c其中t_r是接收时间t_t是卫星发射时间。但在工程上你需要在这个基础上叠加一堆补偿项包括卫星钟差修正电离层延迟对流层延迟接收机钟差作为未知数求解地球自转修正相对论效应修正。GLONASS跟GPS的一个关键区别是卫星钟差修正参数直接由导航电文给出并不是像GPS那样用一个二阶多项式。在解析电文时不要搞混。8.2 频间偏差IFB是最隐蔽的误差这是GLONASS特有的大坑我第一次做双系统融合定位时在这个误差上栽了一个月。由于GLONASS采用FDMA接收机射频前端对不同频率的信号会产生不同的群延迟导致不同K值通道的伪距测量值之间存在系统性偏差。这个偏差跟接收机硬件直接相关不同接收机的IFB不同卫星端也有对应的频间偏差。IFB的大小一般在几纳秒到几十纳秒之间对应伪距偏差几米到十几米。如果你用未经补偿的GLONASS伪距去做多星座融合定位解算出来的位置不难看出明显偏移。补偿办法有两种如果接收机在已知坐标点上做过校准可以用最小二乘拟合出每个频点的偏差值然后在解算前直接扣除如果没有校准条件可以把IFB作为未知数在导航解算方程里联合估计。这时你要额外加一个约束条件比如设定某个K值通道的IFB为0其余相对它求解。无论用哪种方法都不要跳过这一步。IFB不校GLONASS的定位精度根本发挥不出来。8.3 时间系统的换算GLONASS时间系统以莫斯科时间为基准与UTC相差3小时同时要考虑闰秒。GLONASS时间本身是连续计数不包含闰秒。在与GPS、北斗做联合解算时需要先把GLONASS时间换算成对应的UTC或GPS历元。具体做法是t_GPS t_GLONASS 3h - 闰秒差闰秒值由GLONASS导航电文提供你需要检查信号发射时刻参数中的闰秒字段并且要同步外部的闰秒数据库。我踩过的坑是用手动维护的闰秒表忘了更新换代结果融合定位输出出现了约1秒的时间跳变解算瞬间位置就飞了。9. 多星座融合定位坐标和时间双双对齐9.1 PZ-90到WGS-84的坐标转换现在几乎没有接收机只处理GLONASS单系统基本都是GPSGLONASS或者GPS北斗GLONASS。融合之前必须把不同星座的坐标框架统一。GLONASS星历和测量值都定义在PZ-90.11坐标系下而GPS用WGS-84北斗用的坐标系与WGS-84差异也很小。PZ-90.11与WGS-84之间通常用一个七参数赫尔默特变换来转换具体的旋转、平移和尺度参数可以从国际组织的公开规范里查到。在实际代码里我的建议是在星历解析环节就直接做坐标转换把GLONASS卫星位置提前转到WGS-84而不是在解算方程里混着用。这样后端的多系统解算模块就完全不感知坐标系的差异了。9.2 星座间时钟差的实时估计即使完成坐标转换GPS和GLONASS之间的系统时间差还是未知的。一般有两条路利用广播参数做粗对齐然后残差部分靠解算吸收把系统时间差作为一个额外的未知数在最小二乘或者卡尔曼滤波里与位置、接收机钟差一起解算。我做RTK处理时通常把时间差直接建模为一阶随机游走过程跟位置状态共同估计。这样在可见卫星数不足时时间差的平滑约束能显著提升稳定性。9.3 精度与可用性的实际表现在实测中GPSGLONASS融合相比单GPS市区场景下有效定位率大概能提升15%~30%。GLONASS由于轨道倾角较大高纬度地区几何结构比GPS好在低仰角可见性上有天然优势。但也要理性看待GLONASS单点定位精度在补偿完IFB之后典型水平精度大约能到3~5米比GPS的2~3米略差。它的价值更多体现在可用性和抗遮挡能力上而不是精度最优。10. 实测中常见的坑与排查笔记我把自己调试GLONASS信号处理链时遇到的问题整理成了一个速查表这些都是网上文档不太会明说、但实际必踩的点现象可能原因排查方法捕获峰值微弱但不稳定FFT点数不够或多普勒步长过大将多普勒步长从500Hz降到250Hz增加非相干积分次数某些K值卫星始终无峰值射频前端带宽不足或采样率混叠检查中频滤波带宽和采样率确保覆盖全部频点跟踪环路频繁失锁对曼彻斯特码做了跨比特积分将相干积分限制在10ms内先做位同步再积分位同步一直不收敛串同步未锁定时间标记未利用先用0.3秒时间标记图案做粗同步再做串号确认定位结果偏出数米GLONASS频间偏差未补偿做IFB校准或在解算中联合估计融合解算时位置跳变星座间时间差未处理或闰秒更新错误检查时间换算链确认闰秒字段来自最新电文星历拟合在端点处误差大切比雪夫拟合阶数不足或区间过长提高阶数到10或缩短拟合区间并做重叠处理多普勒搜索范围不够晶振误差未计入搜索范围增加到±7kHz以上并基于实际晶振规格估算排查的时候有个经验原则从射频往数字域一层一层检查。先确认采样后的频谱里能看到预期的频点再做捕获捕获过了再谈跟踪。跨级排查很容易浪费时间。11. 一些工程上的个人建议如果让我重新做一次GLONASS信号处理我会在第一天就把IFB和时间系统这两个模块的框架先搭出来而不是等最后融合时才补。这两个问题藏在链路末端却会影响整条链路的参数设计。给你一个实操建议调试时准备一个已知坐标的静态参考点用RTK或者已知精准坐标的结果做基准。每次改动代码后先看单GLONASS定位的收敛位置是否落在真实位置附近再开GPS融合。这样IFB问题和时间问题会第一时间暴露出来不需要最后盲查。另外GLONASS虽然在民用领域的热度不如GPS但它在高纬度可用性和抗干扰方面的价值一直存在。你在做多模接收机的时候不要因为它信号参数跟主流不一致就跳过。真正把FDMA这套流程理解透了你对CDMA系统的理解也会更深一层。信号处理这件事底层逻辑相通差异反而能帮你看清本质。

相关新闻

双节锂电均衡的系统级设计:MP2642GR-Z与PIC18F87K22协同实践

双节锂电均衡的系统级设计:MP2642GR-Z与PIC18F87K22协同实践

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

2026/10/17 5:55:32 阅读更多 →
CNN基础全解析:从卷积原理到PyTorch图像分类实战

CNN基础全解析:从卷积原理到PyTorch图像分类实战

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

2026/10/17 5:55:32 阅读更多 →
NodeMCU中文下发乱码排查:网页到串口监视器全链路解析

NodeMCU中文下发乱码排查:网页到串口监视器全链路解析

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

2026/10/17 5:55:32 阅读更多 →

最新新闻

零基础网络安全攻防入门:从攻击者视角构建防御体系

零基础网络安全攻防入门:从攻击者视角构建防御体系

朋友,先问你三个场景,你大概率至少中过其中一个:收到一封“你的账户异常,请点击链接验证”的邮件,顺手就点了;某个平台账号密码被撞库,结果同密码的其他平台也一起失守;一台开了远程…

2026/10/17 7:07:04 阅读更多 →
需求管理成熟度评估:从模型到指标的全流程落地指南

需求管理成熟度评估:从模型到指标的全流程落地指南

1. 先想明白一件事:需求管理评估到底在评什么我在好几家公司待过,发现一个很普遍的现象:一说要评估需求管理,大家第一反应就是"看需求提得多不多、做完了多少"。有些团队甚至把需求管理评估简单等同于统计 Jira 工单的关…

2026/10/17 7:07:04 阅读更多 →
GLM-5开源首发:通过API接入实现高效编程辅助

GLM-5开源首发:通过API接入实现高效编程辅助

GLM-5开源首发,应该是最近编程圈里最值得关注的一件事。国内团队把模型权重和推理代码一起放了出来,并且在国际主流评测榜单上直接冲到前四,离头部闭源商用模型已经很近。很多开发者第一反应是“又一个开源模型”,但这次不太一样。…

2026/10/17 7:07:04 阅读更多 →
用互信息重构特征工程的时序预测改进实战

用互信息重构特征工程的时序预测改进实战

看到“TPM-MI改进”这个项目代号,估计不少同行的第一反应是:TPM是什么?MI又是什么?这俩缩写的解释空间太大,先说清楚我在项目里怎么定义的,后面所有内容才有讨论基础。TPM在我这边是时间序列预测模型&#…

2026/10/17 7:07:04 阅读更多 →
Vue 3调试指南:DevTools 6.5.0安装、面板实操与状态快照审计

Vue 3调试指南:DevTools 6.5.0安装、面板实操与状态快照审计

简介:Vue DevTools 6.5.0 是一款面向 Vue.js 前端开发者的 Chrome 浏览器调试插件,主要用于查看组件树结构、Vue 实例状态、props、data 及 methods 等运行信息,并支持实时修改数据、观察虚拟 DOM 变化、跟踪生命周期钩子,帮助定位…

2026/10/17 7:07:04 阅读更多 →
CANN深度解析:昇腾AI异构计算架构的核心原理与性能调优实践

CANN深度解析:昇腾AI异构计算架构的核心原理与性能调优实践

如果最近在昇腾AI处理器上跑过模型,那你大概率躲不开这个名字:CANN。我第一次接触它时,想当然地以为它和GPU上的CUDA一样——装个驱动、配好环境、调一下框架后端就能直接跑。真正上手才发现,CANN不是一个简单的驱动,也…

2026/10/17 7:06:04 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/16 14:23:36 阅读更多 →