关于 sensor-signal-filtering
面向嵌入式项目的传感器信号链诊断与滤波选择技能。它强调同时保留原始值和滤波值、核实采样与硬件假设,并区分软件测试和硬件证据。
主要功能
- 01信号链诊断
- 02采样与混叠检查
- 03滤波器选择及成本分析
- 04模拟前端检查
- 05原始值与滤波值遥测
- 06分阶段报告证据
适用场景
- 01为传感器读数选择滤波器
- 02排查尖峰、噪声或混叠
- 03在硬件上验证 ADC 行为
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ wedsamuel1230/ embedded-engineering-skills --skill sensor-signal-filtering安装后在 Claude Code 中输入/sensor-signal-filtering确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlexamples/adc-filter-pipeline.inoreferences/analog-front-end.mdfilter-selection.mdverification-and-tdd.mdscripts/filter_benchmark.py详细介绍
传感器信号滤波
设计从传感器输出到报告值的信号链。确保原始采样、滤波值、时序、饱和状态和故障标志均可观测;滤波器不得掩盖传感器故障或不安全电压。
输入关卡
选择组件或算法之前,先记录或标注未知项:
- 确切的开发板、MCU、核心/框架、ADC 通道、分辨率、参考电压、输入范围、采集时间和工具链版本
- 传感器部件/模块、输出类型和驱动阻抗、电源、线缆长度、预期信号带宽、有效范围、预热时间和故障行为
- 采样周期/抖动预算、可接受延迟、阶跃响应要求、阈值策略、校准模型和可用测量工具
针对开发板的 ADC 建议之前,先通过 board-support 确认开发板。对于实体项目或跨会话工作,先加载 embedded-project-loop,并保持其测量关卡开放。
工作流
- 在滤波之前,以明确且可重复的速率采集原始采样。区分传感器动态与尖峰、混叠、量化、ADC 稳定、供电轨/接地噪声、EMI 和校准误差。
- 根据信号带宽和延迟预算设定采样率。检查奈奎斯特条件和混叠衰减;不要试图用软件滤波器恢复已经混叠到带内的信息。
- 选择一个滤波器,并明确窗口/alpha/模型;计算其启动行为、延迟、内存、CPU 开销以及对阈值的影响。常见的起步选择包括:适用于有限窗口的移动平均、适用于孤立尖峰的中值滤波,以及用于低开销平滑的 EMA/IIR;基于模型的滤波器需要明确的模型和噪声假设。
- 检查模拟链路:传感器负载、RC 截止频率、ADC 采集/稳定、参考电压和接地、线缆/噪声耦合、输入保护、电压限制、去耦,以及电机/无线电电流回流路径。
- 实现原始值与滤波值的遥测,以及故障/饱和指示。在目标平台编译之前,先在主机上验证确定性向量。
- 每次硬件迭代只改变一个因果变量。使用与固件相同的配置测量 ADC 引脚和电源/接地。
按需加载
- 阅读
references/filter-selection.md,了解采样计算、算法权衡、校准顺序和延迟选项。 - 阅读
references/analog-front-end.md,了解 RC/输入网络、ADC 驱动/稳定、布线、保护和测量。 - 阅读
references/verification-and-tdd.md,了解主机、仿真、构建、目标平台和系统关卡。 - 使用仅供诊断的
examples/adc-filter-pipeline.ino,将其作为与开发板无关的定频 EMA 起步示例;将计数转换为电压之前,先补充开发板特定的 ADC 假设。可复用的生成式滤波模式仍由arduino-code-generator维护。 - 使用捕获的向量或运行确定性辅助脚本:
python3 scripts/filter_benchmark.py --help。它是设计/TDD 辅助工具,不能替代目标平台时序或电气测量。
现有的 arduino-code-generator filtering pattern 负责维护可复用代码片段。本技能负责信号链诊断、滤波器选择、硬件交互和证据边界。使用 circuit-debugger 进行故障隔离,使用 wiring-safety-check 检查逻辑和供电轨限制,并且仅在确认已完成故障检测且信号完整性良好后使用 sensor-calibration-workbench。
输出契约
使用共享 Arduino 技能契约: 说明假设、所需工具及版本、实现步骤、 测试/证据、已知限制以及恢复/安全注意事项。
- 构建证明: 主机测试和精确板型的编译结果(如已运行)。
- 上传证明: 上传器对指定端口/镜像给出的结果(如已运行)。
- 硬件证明: ADC 引脚、电源轨/接地、波形或接线的测量结果。
- 系统证明: 在实际负载/环境下观察到的传感器行为。
- 部署证明: 现场部署、回滚和维护证据。
绝不能将通过的主机测试、HTTP 响应、串口横幅或 CI 任务结果 当作硬件或系统证明。如果板子、传感器、电路或测量结果未知,请止步于 有限的计划,并指出下一步要进行的测量。
评论
支持 Markdown