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、キャリブレーション誤差と切り分けます。
- 信号帯域幅とレイテンシの許容値に基づいてサンプリングレートを決めます。 ナイキスト条件とエイリアスの減衰を確認します。帯域内にすでにエイリアシングされた情報を、 ソフトウェアフィルターで復元しようとしてはいけません。
- ウィンドウ/アルファ値/モデルを明示したフィルターを1つ選び、起動時の動作、 遅延、メモリ、CPU コスト、しきい値への影響を計算します。 一般的な初期選択肢は、有限長のウィンドウには移動平均、単発スパイクにはメディアン、 低コストの平滑化には EMA/IIR です。モデルベースのフィルターでは、モデルとノイズの前提を明示する必要があります。
- アナログ経路を確認します。センサー負荷、RC カットオフ、ADC の取得/セトリング、 基準電圧とグラウンド、ケーブル/ノイズ結合、入力保護、電圧制限、 デカップリング、モーター/無線の電流リターン経路を確認します。
- 生データとフィルタ済みデータのテレメトリー、および故障/飽和インジケーターを実装します。 ターゲットでコンパイルする前に、ホスト上で決定論的なベクトルを検証します。
- ハードウェアの各イテレーションでは、因果変数を1つだけ変更します。ファームウェアで使うものと 同じ設定で、ADC ピンと電源/グラウンドを測定します。
必要に応じて読み込む
- サンプリングの計算、アルゴリズムのトレードオフ、キャリブレーションの順序、レイテンシの選択については、
references/filter-selection.mdを読みます。 - RC/入力ネットワーク、ADC の駆動/セトリング、配線、保護、測定については、
references/analog-front-end.mdを読みます。 - ホスト、シミュレーション、ビルド、ターゲット、システムの各ゲートについては、
references/verification-and-tdd.mdを読みます。 - ボードに依存しない固定レート EMA の出発点として、診断専用の
examples/adc-filter-pipeline.inoを使います。カウント値を電圧に変換する前に、ボード固有の ADC の前提を補ってください。再利用可能な生成フィルタリングパターンは引き続きarduino-code-generatorが管理します。 - 決定論的ヘルパーは、
python3 scripts/filter_benchmark.py --helpまたは取得済みのベクトルを使って実行します。これは設計/TDD の補助ツールであり、ターゲットでのタイミング測定や電気的測定の代替にはなりません。
既存の arduino-code-generator のフィルタリングパターン
が、再利用可能なコードスニペットを管理します。このスキルが担当するのは、信号チェーンの診断、フィルターの選択、ハードウェアとのやり取り、エビデンスの境界です。
故障の切り分けには circuit-debugger を、ロジックと電源レールの制限には
wiring-safety-check を使います。sensor-calibration-workbench を使うのは、
検出と信号の完全性が確立された後に限ります。
出力要件
共通の Arduino スキル契約に従ってください。 前提条件、必要なツールとバージョン、実装手順、 テスト/証拠、既知の制限事項、復旧/セキュリティに関する注意事項を記載してください。
- ビルドの証拠: 実施した場合は、ホストテストと対象ボードを指定した正確なコンパイル結果。
- 書き込みの証拠: 実施した場合は、ポート名/イメージ名を明記した書き込みツールの結果。
- ハードウェアの証拠: 実測した ADC ピン、電源レール/グラウンド、波形、または配線の結果。
- システムの証拠: 実際の負荷/環境下で観測したセンサーの動作。
- デプロイの証拠: 現場展開、ロールバック、保守に関する証拠。
ホストテストの合格、HTTP 応答、シリアルのバナー、CI ジョブの成功を、ハードウェアの証拠またはシステムの証拠として扱わないでください。ボード、センサー、回路、測定条件が不明な場合は、範囲を限定した計画の提示にとどめ、次に行う測定を明記してください。