协作频谱感知中的Pietra-Ricci指数检测器:Matlab融合实现解析
前一阵子帮一个团队调试协作频谱感知的仿真平台他们把单节点能量检测器换成了基于分布形貌的盲检测器之后整个系统的虚警率在高噪声不确定度环境下稳定了不少。这个检测器就是大家常说的 Pietra–Ricci 指数检测器。这次我把自己在 Matlab 里实现“集中式数据融合 PR 指数检测器”的完整链路整理出来包含原理拆解、融合策略、代码骨架和仿真结果解读。如果你正在做认知无线电方向的课程设计、论文复现或者工程预研这篇文章应该能帮你省下不少绕弯的时间。协作频谱感知的核心价值在于对抗“隐藏终端”问题——单个次用户节点可能因为所处位置的阴影衰落或深衰落完全探测不到活跃的主用户发射机但其他位置的节点却看得清清楚楚。把这些节点的观测量汇聚到融合中心让这多个“视角”相互校验就能显著提高检测可靠性。而 PR 指数这类检测器的好处在于它观测的是接收样本的概率分布形状不需要知道主用户信号的任何调制细节也不依赖精准的噪声功率估计这对实际部署非常有吸引力。1. 从单点检测到集中式协作解决隐藏终端与感知不确定性的思路1.1 单节点感知为什么不可靠先看一个常见的失效场景。假设某个覆盖区域内主用户发射机工作在 2.4 GHz 频段次用户节点 A 在接收天线方向正好被一栋钢筋混凝土建筑遮挡。即使主用户正在满功率发送节点 A 收到的信号功率可能仍在噪声底附近于是它判决“信道空闲”。这就会造成对主用户的干扰。更麻烦的是信号在传播路径上遇到多径效应时接收端某些频点会深度衰落单节点的检测灵敏度上限直接被信道随机性卡死。这就是隐藏终端问题和感知不确定性问题的来源。单节点检测的另一个固有局限是检测器只能在“漏检”和“虚警”之间做折中而单次观测的统计随机性不会因为检测算法变复杂而消失。想要让检测概率 (P_d) 在目标虚警概率 (P_{fa}) 下提高最直接的手段是引入空间分集——即让分布在空间上多个位置的节点同时感知同一个频段再把它们的观测结果合并。这本质上和无线通信里通过多天线获得分集增益是同一个道理只不过这里合并的是“感知信息”。1.2 集中式融合架构在协作感知中的定位协作频谱感知的拓扑结构大体分两类集中式和分布式。集中式结构里所有次用户节点把自己对目标频段的观测原始采样、统计量或者本地判决发送到融合中心由融合中心根据融合规则给出最终判决。分布式结构则没有中心节点节点之间通过多次迭代协商收敛到全局判决。集中式的优势是实现简单、融合规则灵活、便于集中管理工程落地最成熟也是论文复现里最常见的模型。从融合层次上看可以把上报信息分为三档采样级融合把原始 IQ 数据发给融合中心带宽开销最大、特征级融合每个节点先计算某种检测统计量把统计量发给融合中心开销适中、判决级融合节点只发 1 比特的本地硬判决开销最小。我这次实现的方案落在特征级融合这一档——每个节点计算 PR 指数统计量融合中心对这些统计量做软合并或转成硬判决后再合并。2. Pietra–Ricci 指数检测器工作原理让样本分布自己“说话”2.1 PR 指数的朴素定义Pietra–Ricci 指数最初不是搞通信的人发明的它是统计学里度量分布“偏心”程度的一个指标和基尼系数算“亲戚”。对于一个取值全为非负的样本集合PR 指数衡量的是样本个体相对于样本均值的平均绝对偏离程度再经过均值归一化。它的经验计算形式非常简单我直接给出我在 Matlab 里用的版本function pr PR_index(x) % PR_index 计算观测样本的Pietra-Ricci指数 % 输入x可以是功率序列(实数)也可以是IQ基带波形(复数) % 输出pr标量检测统计量 if ~isreal(x) x abs(x); % 复数基带取模后相当于幅度序列 end x x(:); N length(x); if N 4 error(观测样本数太少无法稳定估计PR指数); end mu mean(x); if mu eps % 极端情况全零样本 pr 0; else pr mean(abs(x - mu)) / (2 * mu); end end上面的式子做了两步归一化用均值去除尺度的影响用系数 2 把取值范围压到大约 ([0,1])。这样得到的指数可以理解为“样本分布距离均匀分布的相对偏差”。纯噪声场景下幅度样本通常稳定在某个基准值附近一旦混入主用户信号幅度样本的分布形态会发生偏移或展宽PR 指数就会明显爬升。我在下面详细解释这背后的物理含义。2.2 为什么PR指数能把“有信号”和“无信号”区分开考虑典型的窄带频谱感知场景。接收机对某一频段做下变频后得到复基带信号在“只存在噪声”的假设下噪声是零均值复高斯白噪声它的幅度服从瑞利分布。瑞利分布的形态是固定的因此样本算出的 PR 指数会在某一数值附近随机波动。当“主用户信号存在”时接收信号变成信号加噪声。即使你不知道信号的具体调制类型通常信号成分都会让接收幅度的分布偏离纯瑞利形态——比如多径信道下的接收信号包络更接近莱斯分布峰值和中位数之间的关系会改变。PR 指数恰恰就是捕捉这种“分布形态改变”的统计量。它有两条对频谱感知特别有利的性质第一它是尺度不变的接收机自动增益控制带来的整体功率缩放几乎不会影响统计量的数值第二它只需要幅度样本不需要恢复载波、不需要知道调制阶数属于典型的盲检测器。这两条性质让它在工程上比很多相干检测方案更容易落地因为你不需要付出同步和信道估计的代价。2.3 与能量检测器的对比噪声不确定性是关键差异传统的能量检测器把样本二阶矩接收能量和噪声功率门限做比较。它的判决质量极度依赖噪声方差的准确估计因为只要噪声功率估计偏差 1 dB在高 SNR 区域端的检测性能就会产生不可忽略的损失。现实里热噪声功率会随温度变化射频前端增益也有漂移加上带外干扰噪声功率的不确定性普遍存在这正是能量检测在真实环境中“虚警频发”的根源。PR 指数检测器走的是另一条路它不比较绝对能量而是比较分布形状。我在仿真中发现当把噪声功率整体放大或缩小一个固定倍数时能量检测器的门限需要重新校准而 PR 指数统计量的分布几乎纹丝不动。当然这并不等于 PR 检测器完全不看功率——信号功率如果太低分布形态的改变也会淹没在随机涨落里只是它的底子比能量检测更抗噪声不确定度。计算复杂度方面PR 指数统计量只需要求均值、求绝对值、求和复杂度大约是 (O(N))和能量检测同阶在感知窗口较短的场景里完全跑得动。3. 集中式数据融合设计的三个关键问题3.1 软融合与硬融合的选择节点把 PR 指数统计量上报给融合中心后融合中心面临一个选择直接用连续数值做加权合并软融合还是先把每个节点的统计量与本地门限比较变成 1 比特硬判决后再合并硬融合。软融合保留的信息量更大理论上检测性能更优硬融合的上报开销极小适合控制信道带宽受限的场景。实际系统里通常还要考虑感知开销和检测性能的平衡。我在这套 Matlab 代码里同时实现了四种典型规则等增益合并EGC等效为求平均、最大比合并MRC按信噪比加权、逻辑或OR 准则和逻辑与AND 准则。EGC 和 MRC 属于软融合OR 和 AND 属于硬融合。下面的小节逐个解释它们的适用场景。3.2 节点权重怎么定EGC 规则下融合统计量就是所有节点 PR 指数的算术平均。它实现最简洁但隐含了一个假设所有节点的观测质量差不多。当节点所处位置的信噪比差异很大时EGC 会让低信噪比节点的噪声统计量拖累整体判决。MRC 则给信噪比高的节点更大的权重让“眼睛更尖”的节点在融合结果里拥有更大话语权。实现 MRC 需要节点或融合中心估计各链路的信噪比或噪声方差这可以通过合作节点之间交换导频、或者从历史感知数据里统计得到。从实际仿真经验看当各节点信噪比均匀时EGC 和 MRC 的性能差距很小当节点信噪比差异超过 6 dB 时MRC 的优势才明显起来但代价是额外的信噪比估计误差。如果系统拿不准估计的可靠性借用一句行内话“不确定就别加权”EGC 往往比带错误权重的 MRC 更稳健。这个观点我后面还会再提。3.3 融合中心如何校准门限无论采用哪种融合规则最后都要有一个判决门限。集中式融合的好处是门限校准只需要在融合中心做一次不需要每个节点单独维护。常用做法是“经验门限法”先在只有噪声的假设下做大量蒙特卡洛仿真把每种融合规则输出的融合统计量记录下来再取 ((1-P_{fa})) 分位数作为门限。下面第 4 节的代码会展示这个过程。这样做的好处是即便统计量的理论分布算不出来工程上依然可以准确定位门限。4. Matlab实现的完整框架从PR指数函数到仿真主循环4.1 代码文件组织如果你打算复现建议按功能分文件不要让所有代码挤在一个脚本里。我的文件结构如下main_pr_fusion.m % 主脚本跑仿真、出图 PR_index.m % 计算单节点的PR指数 fuse_combine.m % 执行融合规则 max_ratio_weights.m % 计算MRC所需的权重可选这里主脚本里承担两件事第一H0 假设下跑蒙特卡洛得到融合统计量的经验分布并校准门限第二H1 假设下跑蒙特卡洛记录检测结果并画 ROC 曲线。分开写会让逻辑干净得多排查问题也容易定位。4.2 融合层的实现融合函数接受一个统计量列向量stats每个元素对应一个节点以及规则名称rule。对于 MRC还需要额外传入权重向量w。我给出一个最简可用的实现function T fuse_combine(stats, rule, w) % fuse_combine 集中式数据融合 % stats: Mx1 各节点PR指数统计量 % rule : EGC / MRC / OR / AND % w : Mx1 权重仅在MRC时使用 switch rule case EGC T mean(stats); case MRC if nargin 3 || isempty(w) w ones(size(stats)); end T sum(w .* stats) / sum(w); case OR local stats 1; % 占位实际门限由外部传入 T any(local); case AND local stats 1; T all(local); otherwise error(未知融合规则); end end注意上面 OR 和 AND 里的stats 1只是占位写法真实工程里不能这么写因为 1 不是 PR 指数的普适门限。硬融合需要先在各节点处做本地判决也就是每个节点持有自己的本地门限。为了让代码更通用我把硬融合的门限也作为参数传入。你可以在自己的实现里把函数签名改成fuse_combine(stats, rule, w, localThr)逻辑会更清晰。4.3 主仿真流程H0校准与H1评估下面是主脚本的核心流程。这段代码的价值在于把“校准门限”和“评估检测概率”分成两个独立过程很多人第一次写协作感知仿真时容易把 H0 的样本拿去又评估 H1混在一起导致结果虚高或虚低这里刻意拆开了clear; clc; close all; rng(2024); % ---------- 参数设置 ---------- M 6; % 协作节点数 N_samples 512; % 每节点的样本点数 SNR_dB -15:2:-5; % 待评估信噪比(dB) MC_H0 2000; % H0下校准门限的蒙特卡洛次数 MC_H1 1000; % H1下评估的蒙特卡洛次数 Pfa_target 0.1; % 目标虚警概率 rule EGC; % 融合规则 % ---------- 第1步H0下估计门限 ---------- fusionStats_H0 zeros(MC_H0, 1); for mc 1:MC_H0 st zeros(M, 1); for m 1:M noise (randn(N_samples, 1) 1j * randn(N_samples, 1)) / sqrt(2); st(m) PR_index(noise); end fusionStats_H0(mc) fuse_combine(st, rule, []); end threshold quantile(fusionStats_H0, 1 - Pfa_target); fprintf(Pfa目标%.2f计算出门限%.4f\n, Pfa_target, threshold); % ---------- 第2步H1下评估检测概率 ---------- Pd_out zeros(length(SNR_dB), 1); for s 1:length(SNR_dB) snr_lin db2pow(SNR_dB(s)); det_cnt 0; for mc 1:MC_H1 st zeros(M, 1); for m 1:M noise (randn(N_samples, 1) 1j * randn(N_samples, 1)) / sqrt(2); sig sqrt(snr_lin) * (randn(N_samples, 1) 1j * randn(N_samples, 1)) / sqrt(2); x sig noise; st(m) PR_index(x); end T fuse_combine(st, rule, []); if T threshold det_cnt det_cnt 1; end end Pd_out(s) det_cnt / MC_H1; end % ---------- 第3步绘图 ---------- figure; plot(SNR_dB, Pd_out, o-, LineWidth, 1.6); xlabel(信噪比 (dB)); ylabel(检测概率); grid on; title(sprintf(集中式协作PR检测性能M%dN%dPfa%.2f, M, N_samples, Pfa_target));这段代码里我把主用户信号建模为随机高斯波形对应最一般化的盲检测场景。如果你要模拟 QPSK、OFDM 之类的具体信号只需要把sig的生成方式换成对应信号源即可其他流程不用动。4.4 参数敏感性分析要改哪里想看点不一样的结果主要改三个位置M增大或减小协作节点数N_samples改变单个节点的感知样本数量模拟不同感知时长SNR_dB向量调整评估区间。另外把rule换成OR、AND、MRC可以直接对比不同融合规则。硬融合规则我还建议给每个节点加独立的本地门限而不是让融合中心直接用单个全局门限这样可以避免“所有节点共享一个门限”的过度理想化假设。5. 仿真实验结果协作增益从哪来参数又怎么影响它5.1 单节点与多节点的ROC对比按上面参数做蒙特卡洛之后最直观的结论是协作感知的 ROC 曲线明显优于单个节点的 ROC 曲线。原因是融合统计量的方差被平均效应压低了虚警概率固定时融合统计量的“信号存在”和“信号不存在”两个分布重叠区域变小检测正确率自然更高。这也是协作频谱感知最核心的增益来源——不是把探测器做得更灵敏而是让随机扰动在合并过程中互相抵消。我在仿真中一般会让单节点和 M 节点协作做同一份 ROC 对比横轴是虚警概率纵轴是检测概率曲线越多越靠左上角越好。如果只给一个信噪比点也可以用检测概率随节点数变化的曲线更直观地体现“加节点”的效果。5.2 节点数、样本数与性能的关系从多个信噪比点的测试结果看节点数从 1 个增加到 8 个在中等信噪比区间能带来很可观的检测概率提升。但边际收益递减从 1 到 2 个节点通常增益最明显从 4 到 8 个节点的提升就得看具体参数了。原因也好理解融合中心的合并增益不可能无限增长它受限于空间相关性——如果节点之间的距离太近收到的信道衰落高度相关所谓“协作”就只剩下名字了。仿真时我常提醒自己先检查节点间距是否设置得合理否则结果会好看得过分。样本数N_samples的影响则非常直接。样本数翻倍PR 指数统计量的方差大约减半等效于把“感知信噪比”往上推了一截。但代价是感知时长增加频谱机会的时效性就下降了。所以工程里不会为了性能无限加大 N而是在性能损失可接受的范围里尽量缩短感知窗口。我的经验是N 从 256 增加到 1024性能提升比较明显再往上增加收益就趋于平缓了。5.3 融合规则之间的性能差异做几组对比就会发现在高信噪比区域OR 规则的检测概率上升得最快但它的虚警概率在目标门限附近也轻轻松松被推力推高因为它太容易“一票认定”。AND 规则则相反虚警概率被压得很低但检测概率也容易跟着受害尤其是在节点数增多时一旦某个节点漏检整个系统就漏检。EGC 和 MRC 的中间路线通常在工作点选择上更从容。我的结论很简单如果系统对虚警敏感优先软融合如果只求漏检最小化OR 规则值得考虑但要接受代价。融合规则的选择总结成表格如下融合规则类型上报开销适用场景风险点EGC软融合M个实数节点质量均匀坏节点拖累均值MRC软融合M个实数权重节点SNR差异大权重估计误差OR硬融合M比特不容漏检虚警偏高AND硬融合M比特严格要求低虚警漏检偏高6. 调试过程与部署建议绕开PR检测器实现的“暗坑”6.1 小样本导致统计量偏置我最初做 PR 检测器时为了模拟快速感知把单节点样本数设成了 64结果发现融合统计量的分布和理论情况差得很远门限怎么都标不准。后来查下来才发现是样本太少时PR 指数估计本身自带偏置小样本把分布形状估计得不够稳。解决办法有两个一是增加感知样本数二是把 PR 指数做一个小样本修正比如先对样本排序再做对称化处理。但从工程角度看最省事的还是把 N 抬到 256 以上别在小样本区域和统计偏置硬碰硬。6.2 复数输入下取模放置的位置PR 指数函数对输入类型敏感。如果你直接拿复基带样本计算均值均值会趋近于零导致mu eps的分支频繁触发统计量直接就失真了。正确做法是先取模再算均值让样本变成反映瞬时包络的非负序列。这个“取模”步骤放错地方结果会完全不可用。我见过不止一个复现者在这一步上卡住代码看着没问题出图却完全不对劲。6.3 蒙特卡洛仿真的速度瓶颈上面的主脚本用了for双循环在 MC_H02000、MC_H11000、M6 的时候跑起来大概需要一两分钟还能忍。但如果你把 MC 次数提到上万次就会明显感觉卡顿。想提速有三个思路一是把最内层的噪声生成改成矩阵化操作一次性生成(N_samples * M)矩阵再转置二是用parfor替代for跑蒙特卡洛循环三是减少不必要的clear和绘图操作千万别在蒙特卡洛循环内部画图那是灾难性的性能劣化。6.4 现实部署时不能忽略的通信代价仿真里假设每个节点上报的统计量都能无误差地到达融合中心但实系统里次用户到融合中心的控制信道带宽有限通信时延和丢包都会影响融合结果。这也是为什么许多工程方案宁愿采用 1 比特硬判决——少传数据可靠性更高。如果你的系统模型里还没有加这个限制我建议在结论里加一句说明避免把仿真结果外推到实际信令链路时产生误判。最后再分享一个调试技巧当你要对比不同融合规则时务必保证所有规则使用同一套 H0 门限校准流程最好让它们共享同一个蒙特卡洛噪声基底也就是固定随机数种子。否则两种结果之间的差异可能不是来自融合规则本身而是来自两轮仿真的随机起伏。这个细节虽然不起眼却是让对比结果公平可信的基本功。

相关新闻

人体感应芯片PIR模块驱动开发—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】

人体感应芯片PIR模块驱动开发—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】

I2C 上那串芯片告一段落。今天换一根高低电平——人体感应。脚号不能猜,悬空会恒报有人。这一章不谈 I2C,也不谈 UART。人体感应模块对外就一根数字脚:有人经过,电平翻一下;没人,电平待在另一边。软件上它就…

2026/10/13 4:20:04 阅读更多 →
六杆急回机构运动学与动力学分析:从建模到Matlab仿真全流程

六杆急回机构运动学与动力学分析:从建模到Matlab仿真全流程

做机构分析这些年,遇到最多的情况就是:四杆机构人人都能算,曲柄摇杆、曲柄滑块讲得滚瓜烂熟,但一碰到六杆机构就抓瞎。市面上教材里对六杆快速回归机构的完整推导少之又少,公式绕、坐标多、代码更是没人贴。偏偏这东西…

2026/10/13 4:20:04 阅读更多 →
MySQL数据可视化实战:从SQL设计到图表落地全链路解析

MySQL数据可视化实战:从SQL设计到图表落地全链路解析

今天想跟你聊聊一个特别实在的问题:MySQL里的数据到底怎么变成业务方能看得懂、用得上、甚至能直接拍板的图表。干这行久了你会发现,数据可视化这件事的难度从来不在“画图”本身,而在“数据从哪来、怎么取、取出来之后怎么跟图表匹配”。很多…

2026/10/13 4:19:04 阅读更多 →

最新新闻

Stimulsoft Report实战:.NET报表设计、渲染与PDF导出避坑指南

Stimulsoft Report实战:.NET报表设计、渲染与PDF导出避坑指南

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

2026/10/13 5:42:36 阅读更多 →
C语言函数编程:从基础到高级技巧

C语言函数编程:从基础到高级技巧

1. C语言函数基础:从入门到实战在C语言的世界里,函数就像是一个个独立的小工厂,接收原材料(参数),经过加工处理(函数体),最后产出成品(返回值)。作…

2026/10/13 5:42:36 阅读更多 →
Skills不是简历词汇,而是可验证可组合的能力操作系统

Skills不是简历词汇,而是可验证可组合的能力操作系统

1. 项目概述:当“skills”不再只是简历上的单词,而成为可验证、可组合、可进化的个人能力操作系统“skills”这个词最近在技术社区、职业发展平台和高校教学改革讨论中高频出现,但它早已不是求职简历里那行潦草罗列的“Python/沟通能力/项目管…

2026/10/13 5:42:36 阅读更多 →
ClaudeCode终端AI编程代理实战:安装配置、MCP集成与高效工作流指南

ClaudeCode终端AI编程代理实战:安装配置、MCP集成与高效工作流指南

简介:这份ClaudeCode实战指南代码包面向希望借助AI编程工具提升开发效率的开发者,从安装配置到高级功能均有覆盖。压缩包内共3个文件,包含inscode配置文件、HTML格式详细指南以及gitignore文件,整体仅5KB,轻便易得。已…

2026/10/13 5:42:36 阅读更多 →
贪心算法实战指南:从区间调度到工程优化的边界与抉择

贪心算法实战指南:从区间调度到工程优化的边界与抉择

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

2026/10/13 5:42:36 阅读更多 →
工业上位机选型与架构设计:从IPC-510到高可靠数据采集系统

工业上位机选型与架构设计:从IPC-510到高可靠数据采集系统

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

2026/10/13 5:41:36 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →