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. ウィンドウ/アルファ値/モデルを明示したフィルターを1つ選び、起動時の動作、 遅延、メモリ、CPU コスト、しきい値への影響を計算します。 一般的な初期選択肢は、有限長のウィンドウには移動平均、単発スパイクにはメディアン、 低コストの平滑化には EMA/IIR です。モデルベースのフィルターでは、モデルとノイズの前提を明示する必要があります。
  4. アナログ経路を確認します。センサー負荷、RC カットオフ、ADC の取得/セトリング、 基準電圧とグラウンド、ケーブル/ノイズ結合、入力保護、電圧制限、 デカップリング、モーター/無線の電流リターン経路を確認します。
  5. 生データとフィルタ済みデータのテレメトリー、および故障/飽和インジケーターを実装します。 ターゲットでコンパイルする前に、ホスト上で決定論的なベクトルを検証します。
  6. ハードウェアの各イテレーションでは、因果変数を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 ジョブの成功を、ハードウェアの証拠またはシステムの証拠として扱わないでください。ボード、センサー、回路、測定条件が不明な場合は、範囲を限定した計画の提示にとどめ、次に行う測定を明記してください。

コメント