加速度計信号の信号処理技術?


7

加速度計の測定値を記録するいくつかのテストを実行しています。この信号に信号処理の要素を使用することを検討していますが、どこから始めればよいか、または私のアプローチはどうあるべきかわかりません。

私の最終的な目標は、加速度の測定値をリアルタイムで監視し、event発生時に通知を表示できるようにすることです。約15万のサンプル時間を見ることができるように、event発生します。

  • このデータをリアルタイムで監視している場合、このイベントに対応するためにどのような信号処理技術を実装できますか?
  • 短時間フーリエ変換(STFT)はオプションでしょうか?

私はPythonでデータを監視していますが、それらにはまともなSTFT関数があります

この関数の引数は次のとおりです。

scipy.signal.stft(x、fs = 1.0、window = 'hann'、nperseg = 256、noverlap = None、nfft = None、 
detrend = False、return_onesided = True、boundary = 'zeros'、padded = True、axis = -1)
  • この信号の処理に使用する最適なパラメーターを決定するにはどうすればよいですか?

  • event(加速度の大きさだけを使用するのではなく)リアルタイムで発生するタイミングを特定するのに役立つと思われる他の方法はありますか?

https://dsp.stackexchange.com/users ここに画像の説明を入力してください

編集1:

私のSTFTは上に追加されています。

回答:


5

STFTが飛び出すのはなぜだろう。私にとっては、gオフセットを削除した後、信号自体またはそのエンベロープの単純なしきい値がより良い/ちょうど良いのではないでしょうか?

を検出するのeventに最適な「メジャー」を決定したら、ここで答えバスビルとニキフォロフの作業を適用できます

その問題の古典的なリファレンスは、BassevilleとNikiforovによる「突然の変化の検出-理論と応用」です。 本全体はPDFダウンロードとして入手できます

私の推奨は、CUSUM(累積合計)アルゴリズムについて第2.2章を読むことです


ご意見ありがとうございます!上記のSTFT出力の写真を追加しました。さて、私は関数パラメーターをあまり考慮せずに単純にSTFT関数を実行しました。私の加速度は500 Hzのサンプリング周波数で収集されています。それを使用して自分の方法を支援できますか?
ゲイリー

2
@Garyプロットを追加していただきありがとうございます。出現する高周波数の追加を調べていますが、振幅の増加は検出しやすいように見えます--- event検出したいすべてのバージョンをキャプチャする場合に限られます。私が話していることの例については、Fat32の回答を参照してください。
Peter K.

こんにちはピーター、あなたはどのようにSTFTプロットを解釈し、それを素人の言葉に入れますか?私の周波数はy軸、時間はx軸です。では、2.0タイムマークで発生している頻度について何を言えるでしょうか。
ゲイリー

@Gary:私には2つの事柄があります。a)高調波成分(その時間前のメインピークに対するサブハーモニック)の出現、およびb)広範で非ハーモニックな高周波ノイズ。私はその高周波コンテンツをフィルターで除去して、それがあなたのを識別するのに役立つかどうかを確認するために使用することを検討したいと思いますevent
Peter K.

STFTは、背景に定常状態のトーンがある場合にCFARレシーバーを開発できるために発生します

5

このグラフィックが最も典型的なアプリケーションシナリオを表す場合は、簡単な短いウィンドウの分散推定を行い、後でしきい値処理を実行します。

σx2=1Nn=0N1xac[n]2

どこ xac[n]DC除去された入力信号です。つまり、バツac[]=バツ[]バツ¯[] どこ バツ¯[] 入力のDC(平均)値です バツ[] 局所的に推定できる

バツ¯[]=1NΣ=0N1バツ[]
DCブロッキングノッチフィルターを使用して、DCを推定する代わりに、DCの蓄積を排除することもできます。

十分に小さいウィンドウサイズを選択してください Nあなたのアプリケーションに適しています。標準偏差(この計算された分散推定値の平方根)と適切に選択されたしきい値との比較に基づいて、イベントの決定を実行できます。

これは、周波数領域分析と比較して、計算負荷がはるかに少ないリアルタイムで簡単に計算されます。リアルタイムアプリケーションでは、合計インデックスは現在のサンプルから逆方向に移動する必要があることに注意してください(非因果的合計を使用する上記の式の代わりに)

2番目の効率的な代替手段として、イベントをトリガーするためにタイムドメインエンベロープ検出(その後にしきい値処理)を実装することもできます。


「短いウィンドウの分散」が正しい、つまりバツ[] あなたの式で実際に意味する必要があります バツ[]バツ¯。または、多かれ少なかれ同等に、信号はさらに処理する前にハイパスフィルター処理できます。
左回り、2017

@leftaroundabout HPFを構築するためのカットオフ周波数を決定する最良の方法は何ですか?
ゲイリー

@leftaroundabout式の下の段落には実際にそれが記載されていますが、詳細では失われていると思います。だから私はそれを明確にする必要があるようです。
Fat32

@ゲイリーそれは何のHPFですか?どこで使うの?
Fat32

@ Fat32申し訳ありませんが、私はあなたの編集されたコメントを読みました。時間領域包絡線検出についての提案が気に入っています。このオプションを調査します。
ゲイリー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.