mcpField
S
sensor-signal-filtering

sensor-signal-filtering

github.com/wedsamuel1230其他2859 次安装2 周前更新
代码仓库

关于 sensor-signal-filtering

面向嵌入式项目的传感器信号链诊断与滤波选择技能。它强调同时保留原始值和滤波值、核实采样与硬件假设,并区分软件测试和硬件证据。

主要功能

  1. 01信号链诊断
  2. 02采样与混叠检查
  3. 03滤波器选择及成本分析
  4. 04模拟前端检查
  5. 05原始值与滤波值遥测
  6. 06分阶段报告证据

适用场景

  1. 01为传感器读数选择滤波器
  2. 02排查尖峰、噪声或混叠
  3. 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.yaml
examples/
adc-filter-pipeline.ino
references/
analog-front-end.md
filter-selection.md
verification-and-tdd.md
scripts/
filter_benchmark.py

详细介绍

传感器信号滤波

设计从传感器输出到报告值的信号链。确保原始采样、滤波值、时序、饱和状态和故障标志均可观测;滤波器不得掩盖传感器故障或不安全电压。

输入关卡

选择组件或算法之前,先记录或标注未知项:

  • 确切的开发板、MCU、核心/框架、ADC 通道、分辨率、参考电压、输入范围、采集时间和工具链版本
  • 传感器部件/模块、输出类型和驱动阻抗、电源、线缆长度、预期信号带宽、有效范围、预热时间和故障行为
  • 采样周期/抖动预算、可接受延迟、阶跃响应要求、阈值策略、校准模型和可用测量工具

针对开发板的 ADC 建议之前,先通过 board-support 确认开发板。对于实体项目或跨会话工作,先加载 embedded-project-loop,并保持其测量关卡开放。

工作流

  1. 在滤波之前,以明确且可重复的速率采集原始采样。区分传感器动态与尖峰、混叠、量化、ADC 稳定、供电轨/接地噪声、EMI 和校准误差。
  2. 根据信号带宽和延迟预算设定采样率。检查奈奎斯特条件和混叠衰减;不要试图用软件滤波器恢复已经混叠到带内的信息。
  3. 选择一个滤波器,并明确窗口/alpha/模型;计算其启动行为、延迟、内存、CPU 开销以及对阈值的影响。常见的起步选择包括:适用于有限窗口的移动平均、适用于孤立尖峰的中值滤波,以及用于低开销平滑的 EMA/IIR;基于模型的滤波器需要明确的模型和噪声假设。
  4. 检查模拟链路:传感器负载、RC 截止频率、ADC 采集/稳定、参考电压和接地、线缆/噪声耦合、输入保护、电压限制、去耦,以及电机/无线电电流回流路径。
  5. 实现原始值与滤波值的遥测,以及故障/饱和指示。在目标平台编译之前,先在主机上验证确定性向量。
  6. 每次硬件迭代只改变一个因果变量。使用与固件相同的配置测量 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